首頁  >  文章  >  後端開發  >  PHP如何使用pear擴充包

PHP如何使用pear擴充包

醉折花枝作酒筹
醉折花枝作酒筹轉載
2021-06-30 16:16:092162瀏覽

PEAR的編碼規則包括縮排規則,控制結構,函數調用,函​​數定義,註釋,包含代碼,PHP標記,文件頭的註釋塊,CVS標記,URL樣例,常量的命名這11方面。以下簡單介紹一下

PHP如何使用pear擴充包

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;
  }

函數定義:      ”   
  

##函數定義遵循"one true brace"習俗:            

/* 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/ 查看。除了類別的線上文檔,建議你應該使用非文檔性質的註解來詮釋你的程式碼,當你看到一段程式碼時想:

哦,我想不需要在文檔裡去仔細描述它吧。那麼你最好給這段程式碼作一個簡單的註釋,這樣防止你會忘記它們是如何工作的。對於註釋的形式,C的/* */和C 的/ /都不錯,不過,不要使用Perl或shell的#註解方式。

包含程式碼:          


無論什麼時候,當你需要無條件包含進一個class文件,你必須使用requre_once;當你需要條件包含進一個class文件,你必須使用include_once;這樣可以保證你要包含的文件只會包含一次,並且這2個語句共用同一個文件列表,所以你無須擔心二者會混淆,一旦require_once 包含了一個文件,include_once不會再重複包含相同的文件,反之亦然。

PHP代碼標記:          


任何時候都要使用2e1464ed12ef038342f5258ad88f5552定義你的php程式碼,而不要簡單地使用b26da186e11666e6dd99f28d6205715c,這樣可以確保PEAR的兼容性,也利於跨平台的移植。

文件頭的註解聲明:          #########所有需要包含在PEAR核心發佈的PHP程式碼文件,在文件開始的時候,你必須加入以下的註解聲明:           ###
/* 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中文網其他相關文章!

陳述:
本文轉載於:imooc.com。如有侵權,請聯絡admin@php.cn刪除