程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> 關於PHPDocument 代碼注釋規范的總結

關於PHPDocument 代碼注釋規范的總結

編輯:關於PHP編程

    1. 安裝phpDocumentor(不推薦命令行安裝)
    在http://manual.phpdoc.org/下載最新版本的PhpDoc
    放在web服務器目錄下使得通過浏覽器可以訪問到
    點擊files按鈕,選擇要處理的php文件或文件夾
    還可以通過該指定該界面下的Files to ignore來忽略對某些文件的處理。
    然後點擊output按鈕來選擇生成文檔的存放路徑和格式.
    最後點擊create,phpdocumentor就會自動開始生成文檔了。

    2.如何寫PHP規范注釋
    所有的文檔標記都是在每一行的 * 後面以@開頭。如果在一段話的中間出來@的標記,這個標記將會被當做普通內容而被忽略掉。
    @access 該標記用於指明關鍵字的存取權限:private、public或proteced 使用范圍:class,function,var,define,module
    @author 指明作者
    @copyright 指明版權信息
    @const 使用范圍:define 用來指明php中define的常量
    @final 使用范圍:class,function,var 指明關鍵字是一個最終的類、方法、屬性,禁止派生、修改。
    @global 指明在此函數中引用的全局變量
    @name 為關鍵字指定一個別名。
    @package 用於邏輯上將一個或幾個關鍵字分到一組。
    @abstrcut 說明當前類是一個抽象類
    @param 指明一個函數的參數
    @return 指明一個方法或函數的返回值
    @static 指明關建字是靜態的。
    @var 指明變量類型
    @version 指明版本信息
    @todo 指明應該改進或沒有實現的地方
    @link 可以通過link指到文檔中的任何一個關鍵字
    @ingore 用於在文檔中忽略指定的關鍵字

    一些注釋規范
    a.注釋必須是
    /**
    * XXXXXXX
    */
    的形式
    b.對於引用了全局變量的函數,必須使用glboal標記。
    c.對於變量,必須用var標記其類型(int,string,bool...)
    d.函數必須通過param和return標記指明其參數和返回值
    e.對於出現兩次或兩次以上的關鍵字,要通過ingore忽略掉多余的,只保留一個即可
    f.調用了其他函數或類的地方,要使用link或其他標記鏈接到相應的部分,便於文檔的閱讀。
    g.必要的地方使用非文檔性注釋(PHPDOC無法識別的關鍵字前的注釋),提高代碼易讀性。
    h.描述性內容盡量簡明扼要,盡可能使用短語而非句子。
    i.全局變量,靜態變量和常量必須用相應標記說明

    能夠被phpdoc識別的關鍵字:
    Include
    Require
    include_once
    require_once
    define
    function
    global
    class

    3. 規范注釋的php代碼 :
    <?php
    /**
    * 文件名(sample2.php)
    *
    * 功能描述(略)
    *
    * @author steve <http://www.jb51.net>
    * @version 1.0
    * @package sample2
    */
    /**
    * 包含文件
    */
    include_once 'sample3.php';
    /**
    * 聲明全局變量
    * @global integer $GLOBALS['_myvar']
    * @name $_myvar
    */
    $GLOBALS['_myvar'] = 6;
    /**
    * 聲明全局常量
    */
    define('NUM', 6);
    /**
    * 類名
    *
    * 類功能描述
    *
    * @package sample2
    * @subpackage classes(如果是父類 就添加)
    */
    class myclass {
    /**
    * 聲明普通變量
    *
    * @accessprivate
    * @var integer|string
    */
    var $firstvar = 6;
    /**
    * 創建構造函數 {@link $firstvar}
    */
    function myclass() {
    $this->firstvar = 7;
    }
    /**
    * 定義函數
    *
    * 函數功能描述
    *
    * @global string $_myvar
    * @staticvar integer $staticvar
    * @param string $param1
    * @param string $param2
    * @return integer|string
    */
    function firstFunc($param1, $param2 = 'optional') {
    static $staticvar = 7;
    global $_myvar;
    return $staticvar;
    }
    }
    ?>

    1. 上一頁:
    2. 下一頁:
    Copyright © 程式師世界 All Rights Reserved