Zend Framework 的 PHP 編碼標準 命名約定

C.3.  命名約定 

C.3.1.  類 

Zend Framework 的類命名總是對應於其所屬文件的目錄結構的,ZF 標準庫的根目錄是 “Zend/”,ZF 特別(extras)庫的根目錄是 "ZendX/",所有 Zend Framework 的類在其下按等級存放。 

類名只允許有字母數字字符,在大部分情況下不鼓勵使用數字。下劃線只允許做路徑分隔符;例如 Zend/Db/Table.php 文件裏對應的類名稱是 Zend_Db_Table。 

如果類名包含多個單詞,每個單詞的第一個字母必須大寫,連續的大寫是不允許的,例如 “Zend_PDF” 是不允許的,而 "Zend_Pdf" 是可接受的。 

這些約定爲 Zend Framework 定義了一個僞命名空間機制。如果對開發者在他們的程序中切實可行,Zend Framework 將採用 PHP 命名空間特性(如果有的話)。 

參見在標準和特別庫中類名作爲類名約定的例子。 重要: 依靠 ZF 庫展開的代碼,但又不是標準或特別庫的一部分(例如程序代碼或不是 Zend 發行的庫),不要以 "Zend_" 或 "ZendX_" 開頭。 

C.3.2.  文件名 

對於其它文件,只有字母數字字符、下劃線和短橫線("-")可用,空格是絕對不允許的。 

包含任何 PHP 代碼的任何文件應當以 ".php" 擴展名結尾,衆所周知的視圖腳本除外。下面這些例子給出 Zend Framework 類可接受的文件名: 

Zend/Db.php

Zend/Controller/Front.php

Zend/View/Helper/FormRadio.php

文件名必須遵循上述的對應類名的規則。 

 

C.3.3.  函數和方法 

函數名只包含字母數字字符,下劃線是不允許的。數字是允許的但大多數情況下不鼓勵。 

函數名總是以小寫開頭,當函數名包含多個單詞,每個子的首字母必須大寫,這就是所謂的 “駝峯” 格式。 

我們一般鼓勵使用冗長的名字,函數名應當長到足以說明函數的意圖和行爲。 

這些是可受的函數名的例子: 

filterInput()

getElementById()

widgetFactory() 

 

對於面向對象編程,實例或靜態變量的訪問器總是以 "get" 或 "set" 爲前綴。在設計模式實現方面,如單態模式(singleton)或工廠模式(factory), 方法的名字應當包含模式的名字,這樣名字更能描述整個行爲。 

在對象中的方法,聲明爲 "private" 或 "protected" 的, 名稱的首字符必須是一個單個的下劃線,這是唯一的下劃線在方法名字中的用法。聲明爲 "public" 的從不包含下劃線。 

全局函數 (如:"floating functions") 允許但大多數情況下不鼓勵,建議把這類函數封裝到靜態類裏。 

C.3.4.  變量 

變量只包含數字字母字符,大多數情況下不鼓勵使用數字,下劃線不接受。 

聲明爲 "private" 或 "protected" 的實例變量名必須以一個單個下劃線開頭,這是唯一的下劃線在程序中的用法,聲明爲 "public" 的不應當以下劃線開頭。 

對函數名(見上面 3.3 節)一樣,變量名總以小寫字母開頭並遵循“駝峯式”命名約定。 

我們一般鼓勵使用冗長的名字,這樣容易理解代碼,開發者知道把數據存到哪裏。除非在小循環裏,不鼓勵使用簡潔的名字如 "$i" 和 "$n" 。如果一個循環超過 20 行代碼,索引的變量名必須有個具有描述意義的名字。 

 

C.3.5.  常量 

常量包含數字字母字符和下劃線,數字允許作爲常量名。 

常量名的所有字母必須大寫。 

常量中的單詞必須以下劃線分隔,例如可以這樣 EMBED_SUPPRESS_EMBED_EXCEPTION 但不許這樣 EMBED_SUPPRESSEMBEDEXCEPTION。 

常量必須通過 "const" 定義爲類的成員,強烈不鼓勵使用 "define" 定義的全局常量。 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章