什么是PEAR PEAR是PHP扩展与应用库(the PHP Extension and Application Repository)的缩写。它是一个PHP扩展及应用的一个代码仓库,简单地说,PEAR就是PHP的CPAN。 PHP是一个非常优秀的脚本语言,简洁、高效,随着4.0的发布,越来越多的人使用它来进行动态网站的开发,可以说,PHP已经成为最优秀的INTERNET开发语言之一,尤其对于那些需要能够快速、高效地开发中小规模的商业应用的网站开发人员,PHP是其首选的语言。但是随着PHP的应用的不断增多,对于这些应用缺乏统一的标准和有效的管理,因此,PHP社区很难象PERL社区的人们那样方便的共享彼此的代码和应用,因为PHP缺乏象CPAN那样的统一的代码库来分类管理应用的代码模块(熟悉PERL的人都知道,CPAN是一个巨大的PERL的扩展模块仓库,编写的应用模块可以放在CPAN下面的适当的分类目录下面,其他的人可以很方便地复用,当然,你编写应用模块时候也需要遵守其中的准则。) 为此,PEAR就应运而生了,并且从4.04开始,随着PHP核心一起被分发。 PEAR能给我带来什么好处? 1.如前所述,PEAR按照一定的分类来管理PEAR应用代码库,你的PEAR代码可以组织到其中适当的目录中,其他的人可以方便地检索并分享到你的成果。 2.PEAR不仅仅是一个代码仓库,它同时也是一个标准,使用这个标准来书写你的PHP代码,将会增强你的程序的可读性,复用性,减少出错的几率。 3.PEAR通过提供2个类为你搭建了一个框架,实现了诸如析构函数,错误捕获功能,你通过继承就可以使用这些功能。 PEAR的编码规则包括缩进规则,控制结构,函数调用,函数定义,注释,包含代码,PHP标记,文件头的注释块,CVS标记,URL样例,常量的命名这11方面。下面简要地介绍一下: 缩进规则: 如果,你使用Emacs/XEmacs,需要把indent-tabs-mode 设置成nil。 不过你象我一样喜欢用(X)Emacs编辑PHP文件,我强烈推荐你安装PHP-MODE,这样当你编写PEAR代码的时候,它会自动调整你的缩排风格,当然PHP-MODE还有许多很优秀的特性,你可以从资源列表中的地方下载最新版的PHP-MODE。 控制结构: 函数调用: 此外,如果要将函数的返回结果赋值,那么在等号和所赋值的变量之间要有空格,同时,如果是一系列相关的赋值语句,你添加适当的空格,使它们对齐,就象这样:$result1 = $foo($param1, $param2, $param3); 函数定义: 如上所示,可选参数要在参数表的末端,并且总是尽量返回有意义的函数值。 コメントについて: インクルード コード: PHP コード タグ: ファイル ヘッダーのコメント ステートメント: URL サンプル:
为什么要使用PEAR?
PEAR的编码规则
PEAR中需要使用4个空格来缩排代码,并且不使用TAB。如果你使用VIM,将下列设置放入你的~/.vimrc中:set expandtab
set shiftwidth=4
set tabstop=4
这里所说的控制结构包括: if for while switch 等。对于控制结构,在关键字(如if for ..)后面要空一个格,然后再跟控制的圆括号,这样,不至于和函数调用混淆,此外,你应该尽量完整的使用花括号{},即使从语法上来说是可选的。这样可以防止你以后需添加新的代码行时产生逻辑上的疑惑或者错误。这里是一个样例:if ((条件1) && (条件2)) {
语句1;
}esleif ((条件3) || (条件4)) {
语句2;
}else {
语句3;
}
对于函数调用,函数名和左括号( 之间不应该有空格,对于函数参数,在分隔的逗号和下一个参数之间要有相同的空格分离,最后一个参数和右括号之间不能有空格。下面是一个标准的函数调用;$result = foo($param1, $param2, $param3);
不规范的写法:
$result=foo ($param1,$param2,$param3);
$result=foo( $param1,$param2, $param3 );
$var2 = $foo($param3);
$var3 = $foo($param4, $param5);
函数定义遵循"one true brace"习俗: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;
}
クラスのオンラインドキュメントの場合、JavaDoc と同様に、PHPDoc によって変換できる必要があります。 PHPDoc も PEAR アプリケーションです。詳細については、http://www.phpdoc.de/ にアクセスしてください。クラスのオンライン ドキュメントに加えて、ドキュメント以外のコメントを使用してコードを説明することをお勧めします。 。次に、コードがどのように動作するかを忘れないよう、このコードに簡単なコメントを付けた方がよいでしょう。コメント形式の場合、C の /* */ と C++ の // はどちらも適切ですが、Perl やシェルの # コメント メソッドは使用しないでください。
クラス ファイルを無条件にインクルードする必要がある場合は、必ず require_once を使用する必要があります。これにより、インクルードするファイルが 1 回だけインクルードされるようになります。これら 2 つのステートメントは同じファイル リストを共有するため、require_once がファイルをインクルードすると、include_once が同じファイルを再度インクルードすることはなくなり、その逆も同様です。
PEAR コードを定義するには、単に > を使用するのではなく、常に を使用します。これにより、PEAR の互換性が確保され、クロスプラットフォームの移植が容易になります。
PEAR コア リリースに含める必要があるすべての PHP コード ファイルについて、ファイルの先頭に次のコメント ステートメントを追加する必要があります: /* vim: set Expandtab tabstop=4 shftwidth= 4: */
// +------------------------------------------ -------- ------------+
// PHP バージョン 4.0 ----------- | -------------------------------------- ------+
// |著作権 (c) 1997, 1998, 1999, 2000, 2001 PHP グループ |
// +----------------- ------------ -------------------------------------- --+
// このソースファイルは対象ですPHP ライセンスのバージョン 2.0、|
// | このパッケージは LICENSE ファイルにバンドルされており、世界中の Web から入手可能です |
// | | Web の場合は、|
// | License@php.net にメモを送信してください。すぐにコピーをお送りします。 ------------------------ ------------------------ --------+
// | 著者: 原作者 |
// | |
// +--------------------- ------------------------ ------------------------+
//
// $Id$
PEAR コア コード ベースにないファイルの場合は、ファイルの先頭に著作権、ライセンス、作成者などを示す同様のコメント ブロックを含めることをお勧めします。同時に、VIM の MODELINE を最初の行に追加して、PEAR のコード スタイルを VIM で維持できるようにします。
CVS タグ:
上記のように、各ファイルに CVS ID タグを追加します。編集または変更するファイルにこのタグがない場合は、追加するか、元のファイルの同様の表現 (「 など)」に置き換えてください。最終更新日」など)
定数の名前付け: