@accessphp
@authorhtml
@copyrightweb
@deprecatedcookie
@examplesession
@constapp
@final框架
@filesourcedom
@globalide
@ingore函數
@license
@link
@name
@package
@abstrcut
@param
@return
@static
@var
@version
@todo
@throws
{@link}
{@source}
a.註釋必須是
/** * 註釋內容 */
的形式
b.對於引用了全局變量的函數,必須使用glboal標記。
c.對於變量,必須用var標記其類型(int,string,bool…)
d.函數必須經過param和return標記指明其參數和返回值
e.對於出現兩次或兩次以上的關鍵字,要經過ingore忽略掉多餘的,只保留一個便可
f.調用了其餘函數或類的地方,要使用link或其餘標記連接到相應的部分,便於文檔的閱讀。
g.必要的地方使用非文檔性註釋,提升代碼易讀性。
h.描述性內容儘可能簡明扼要,儘量使用短語而非句子。
i.全局變量,靜態變量和常量必須用相應標記說明
示例
<?php /** * Sample File 2, phpDocumentor Quickstart * * This file demonstrates the rich information that can be included in * in-code documentation through DocBlocks and tags. * @author Greg Beaver <cellog@php.net> * @version 1.0 * @package sample */ //PHP code /** * A sample function docblock * @global string document the fact that this function uses $_myvar * @staticvar integer $staticvar this is actually what is returned * @param string $param1 name to declare * @param string $param2 value of the name * @return integer */ function firstFunc($param1, $param2 = 'optional') { static $staticvar = 7; global $_myvar; return $staticvar; } ?>
YII框架的註釋範例:
/** * CHttpSession提供了session級的數據管理和相關配置 * * 開啓session 調用 {@link open()}; * 完成和發送session數據,調用 {@link close()}; * 清除session,調用{@link destroy()}. * * * CHttpSession can be used like an array to set and get session data. For example, * <pre> * $session=new CHttpSession; * $session->open(); * $value1=$session['name1']; // get session variable 'name1' * $value2=$session['name2']; // get session variable 'name2' * foreach($session as $name=>$value) // traverse all session variables * $session['name3']=$value3; // set session variable 'name3' * </pre> * * The following configurations are available for session: * <ul> * <li>{@link setSessionID sessionID};</li> * <li>{@link setSessionName sessionName};</li> * <li>{@link autoStart};</li> * <li>{@link setSavePath savePath};</li> * <li>{@link setCookieParams cookieParams};</li> * <li>{@link setGCProbability gcProbability};</li> * <li>{@link setCookieMode cookieMode};</li> * <li>{@link setUseTransparentSessionID useTransparentSessionID};</li> * <li>{@link setTimeout timeout}.</li> * </ul> * See the corresponding setter and getter documentation for more information. * Note, these properties must be set before the session is started. * * CHttpSession can be extended to support customized session storage. * Override {@link openSession}, {@link closeSession}, {@link readSession}, * {@link writeSession}, {@link destroySession} and {@link gcSession} * and set {@link useCustomStorage} to true. * Then, the session data will be stored and retrieved using the above methods. * * CHttpSession is a Web application component that can be accessed via * {@link CWebApplication::getSession()}. * * @author Qiang Xue <qiang.xue@gmail.com> * @version $Id: CHttpSession.php 2497 2010-09-23 13:28:52Z mdomba $ * @package system.web * @since 1.0 */ class CHttpSession implements IteratorAggregate, ArrayAccess, Countable { /** * @var boolean whether the session should be automatically started when the session application component is initialized, defaults to true. */ public $autoStart = true; private static $_instance = NULL; /** * Initializes the application component. * This method is required by IApplicationComponent and is invoked by application. */ public function init() { if ($this->autoStart) { $this->open(); } register_shutdown_function(array($this, 'close')); } /** * Returns a value indicating whether to use custom session storage. * This method should be overriden to return true if custom session storage handler should be used. * If returning true, make sure the methods {@link openSession}, {@link closeSession}, {@link readSession}, * {@link writeSession}, {@link destroySession}, and {@link gcSession} are overridden in child * class, because they will be used as the callback handlers. * The default implementation always return false. * @return boolean whether to use custom storage. */ public function getUseCustomStorage() { return false; } /** * Session open handler. * This method should be overridden if {@link useCustomStorage} is set true. * Do not call this method directly. * @param string $savePath session save path * @param string $sessionName session name * @return boolean whether session is opened successfully */ public function openSession($savePath, $sessionName) { return true; } // 截取了一部分 }
PHP命名規範
先了解下
一、什麼是 駝峯命名法? 百度百科
二、大駝峯 與 小駝峯 的區別 ? 百度百科
1.類名:大駝峯命名法
2.類屬性:
public、protected類型的,小駝峯命名法;
private類型的,下劃線(_)開頭,小駝峯命名法;
3.類方法:
public、protected類型的,小駝峯命名法;
private類型的,下劃線(_)開頭,小駝峯命名法;
4.類方法參數:小駝峯命名法;
5.函數:採用C GNU的慣例,全部的字母使用小寫字母,使用下劃線(_)分割單詞;
6.函數參數:小駝峯命名法;
例如:
function some_bloody_function($userId, $userName) {
}
7.常量:
全部字母都大寫,使用下劃線(_)分割單詞;