1. 程式人生 > >給php程式碼新增規範的註釋phpDocumentor

給php程式碼新增規範的註釋phpDocumentor



給php程式碼新增規範的註釋

在phpdocumentor中,註釋分為文件性註釋和非文件性註釋。
所謂文件性註釋,是那些放在特定關鍵字前面的多行註釋,特定關鍵字是指能夠被phpdoc分析的關鍵字,例如class,var等,具體的可參加附錄1.
那些沒有在關鍵字前面或者不規範的註釋就稱作非文件性註釋,這些註釋將不會被phpdoc所分析,也不會出現在你產生的api文當中。
3.2如何書寫文件性註釋:
所 有的文件性註釋都是由/**開始的一個多行註釋,在phpDocumentor裡稱為DocBlock, DocBlock是指軟體開發人員編寫的關於某個關鍵字的幫助資訊,使得其他人能夠通過它知道這個關鍵字的具體用途,如何使用。 PhpDocumentor規定一個DocBlock包含如下資訊:


1. 功能簡述區
2. 詳細說明區
3. 標記tag
文件性註釋的第一行是功能描述區,正文一般是簡明扼要地說明這個類,方法或者函式的功能,功能簡述的正文在生成的文件中將顯示在索引區。功能描述區的內容可以通過一個空行或者 . 來結束
在 功能描述區後是一個空行,接著是詳細說明區,. 這部分主要是詳細說明你的API的功能,用途,如果可能,也可以有用法舉例等等。在這部分,你應該著重闡明你的API函式或者方法的通常的用途,用法,並 且指明是否是跨平臺的(如果涉及到),對於和平臺相關的資訊,你要和那些通用的資訊區別對待,通常的做法是另起一行,然後寫出在某個特定平臺上的注意事項 或者是特別的資訊,這些資訊應該足夠,以便你的讀者能夠編寫相應的測試資訊,比如邊界條件,引數範圍,斷點等等。

之後同樣是一個空白行,然後是文件的標記tag,指明一些技術上的資訊,主要是最主要的是呼叫引數型別,返回值極其型別,繼承關係,相關方法/函式等等。

文件註釋中還可以使用例如<b> <code>這樣的標籤

5.文件標記:
文件標記的使用範圍是指該標記可以用來修飾的關鍵字,或其他文件標記。
所有的文件標記都是在每一行的 * 後面以@開頭。如果在一段話的中間出來@的標記,這個標記將會被當做普通內容而被忽略掉。
6.一些註釋規範
a.註釋必須是
/**
* XXXXXXX
*/
的形式
b.對於引用了全域性變數的函式,必須使用glboal標記。
c.對於變數,必須用var標記其型別(int,string,bool...)

d.函式必須通過param和return標記指明其引數和返回值
e.對於出現兩次或兩次以上的關鍵字,要通過ingore忽略掉多餘的,只保留一個即可
f.呼叫了其他函式或類的地方,要使用link或其他標記連結到相應的部分,便於文件的閱讀。
g.必要的地方使用非文件性註釋,提高程式碼易讀性。
h.描述性內容儘量簡明扼要,儘可能使用短語而非句子。
i.全域性變數,靜態變數和常量必須用相應標記說明
<?php

/**

* @name 名字

* @abstract 申明變數/類/方法

* @access 指明這個變數、類、函式/方法的存取許可權

* @author 函式作者的名字和郵箱地址

* @category  組織packages

* @copyright 指明版權資訊

* @const 指明常量

* @deprecate 指明不推薦或者是廢棄的資訊MyEclipse編碼設定

* @example 示例

* @exclude 指明當前的註釋將不進行分析,不出現在文擋中

* @final 指明這是一個最終的類、方法、屬性,禁止派生、修改。

* @global 指明在此函式中引用的全域性變數

* @include 指明包含的檔案的資訊

* @link 定義線上連線

* @module 定義歸屬的模組資訊

* @modulegroup 定義歸屬的模組組

* @package 定義歸屬的包的資訊

* @param 定義函式或者方法的引數資訊

* @return 定義函式或者方法的返回資訊

* @see 定義需要參考的函式、變數,並加入相應的超級連線。

* @since 指明該api函式或者方法是從哪個版本開始引入的

* @static 指明變數、類、函式是靜態的。

* @throws 指明此函式可能丟擲的錯誤異常,極其發生的情況

* @todo 指明應該改進或沒有實現的地方

* @var 定義說明變數/屬性。

* @version 定義版本資訊

*/

function XXX($a){..}
/** 
02.* some_func  
03.* 函式的含義說明 
04.* 
05.* @access public 
06.* @param mixed $arg1 引數一的說明 
07.* @param mixed $arg2 引數二的說明 
08.* @param mixed $mixed 這是一個混合型別 
09.* @since 1.0 
10.* @return array 
11.*/  
12.public function thisIsFunction($string, $integer, $mixed) {return array();}