PEAR的編碼規則包括縮排規則,控制結構,函數調用,函數定義,註釋,包含代碼,PHP標記,文件頭的註釋塊,CVS標記,URL樣例,常量的命名這11方面。以下簡單介紹一下
apt-get install php-pear
pear install channel://pear.php.net/PHP_ArrayOf-0.2.1
pear download channel://pear.php.net/PHP_ArrayOf-0.2.1
PEAR的編碼規則
PEAR的編碼規則包括縮排規則,控制結構,函數調用,函數定義,註釋,包含代碼,PHP標記,文件頭的註釋塊,CVS標記,URL樣例,常數的命名這11方面。以下簡單介紹一下:
縮排規則:
PEAR中需要使用4個空格來縮排程式碼,且不使用TAB。如果你使用VIM,將下列設定放入你的~/.vimrc中:
set expandtabset shiftwidth=4set tabstop=4
#如果,你需要使用Emacs/XEmacs,
把indent-tabs-mode 設定成nil。
不過你像我一樣喜歡用(X)Emacs編輯PHP文件,我強烈建議你安裝PHP-MODE,這樣當你寫PEAR程式碼的時候,它會自動調整你的縮排風格,當然PHP-MODE還有許多很優秀的特性,你可以從資源清單中的地方下載最新版的PHP-MODE。
控制結構:
這裡所說的控制結構包括: if for while switch 等。對於控制結構,在關鍵字(如if for ..)後面要空一個格,然後再跟控制的圓括號,這樣,不至於和函數調用混淆,此外,你應該盡量完整的使用花括號{},即使從語法上來說是可選的。這樣可以防止你以後需新增新的程式碼行時產生邏輯上的疑惑或錯誤。這裡有一個範例:
if ((條件1) && (條件2)) { 語句1;}esleif} 3;}
對於函數調用,函數名稱和左括號( 之間不應該有空格,對於函數參數,在分隔的逗號和下一個參數之間要有相同的空格分離,最後一個參數和右括號之間不能有空格。下面是一個標準的函數呼叫;
$result = foo($param1, $param2, $param3); 不规范的写法: $result=foo ($param1,$param2,$param3);$result=foo( $param1,$param2, $param3 );
此外,如果要將函數的回傳結果賦值,那麼在等號賦值,那麼在等號賦值和所賦值的變數之間要有空格,同時,如果是一系列相關的賦值語句,你加入適當的空格,使它們對齊,就像這樣:
$result1 = $foo($param1, $param2, $param3); $var2 = $foo($param3); $var3 = $foo($param4, $param5);
函數定義:
function connect(&$dsn, $persistent = false){ if (is_array($dsn)) { $dsninfo = &&dsn; } else { $dsninfo = DB::parseDSN($dsn); } if (!$dsninfo || !$dsninfo['phptype']) { return $this->raiseError(); } return true; }
函數定義: ”
/* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | license@php.net so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Original Author | // | Your Name | // +----------------------------------------------------------------------+ // // $Id$
對於類別的線上文檔,應該能夠被PHPDoc轉換,就像JavaDoc那樣。PHPDoc也是一個PEAR的應用程序,更詳細的介紹你可以去http:/ /www.phpdoc.de/ 查看。除了類別的線上文檔,建議你應該使用非文檔性質的註解來詮釋你的程式碼,當你看到一段程式碼時想:
/* vim: set expandtab tabstop=4 shiftwidth=4: */ // +----------------------------------------------------------------------+ // | PHP version 4.0 | // +----------------------------------------------------------------------+ // | Copyright (c) 1997, 1998, 1999, 2000, 2001 The PHP Group | // +----------------------------------------------------------------------+ // | This source file is subject to version 2.0 of the PHP license, | // | that is bundled with this package in the file LICENSE, and is // | available at through the world-wide-web at | // | http://www.php.net/license/2_02.txt. | // | If you did not receive a copy of the PHP license and are unable to | // | obtain it through the world-wide-web, please send a note to | // | license@php.net so we can mail you a copy immediately. | // +----------------------------------------------------------------------+ // | Authors: Original Author | // | Your Name | // +----------------------------------------------------------------------+ // // $Id$
对于不在PEAR核心代码库中的文件,建议你也在文件的开始处有这样一个类似的注释块,标明版权,协议,作者等等。同时也在第一行加入VIM的MODELINE,这样在VIM中能够保持PEAR的代码风格。
CVS标记:
如上面所展示那样,在每个文件中加入CVS的ID标记,如果你编辑或修改的文件中没有这个标记,那么请加入,或者是替换原文件中相类似的表现形式(如"Last modified"等等)
URL样本:
你可以参照RFC 2606,使用"www.example.com"作为所有的URL样本。
常量命名:
常量应该尽量使用大写,为了便于理解,使用下划线分割每个单词。同时,你应该常量所在的包名或者是类名作为前缀。比如,对于Bug类中常量应该以Bug_开始。
以上是PEAR的编码规则,详细的编码规则可以参考PEAR中的CODING_STANDDARD文件的说明。为了更好地理解这些编码规则,你也可以参考一下现有PEAR核心模块的代码。
推荐学习:php视频教程
以上是PHP如何使用pear擴充包的詳細內容。更多資訊請關注PHP中文網其他相關文章!