この仕様は、共有 PHP コード間の高度な技術的相互運用性を保証するために、コードの基本要素に関連する標準を策定します。
1. 概要-----
PHP コード ファイル は
は BOM なしで UTF-8 でエンコードする必要があります。
名前空間とクラス
<🎜 のいずれかに準拠する必要があります。 > クラス の命名は
クラス内の定数のすべての文字が大文字で始まる StudlyCaps のキャメルケース命名規則に従う必要があります。メソッド名
他のカスタム タグを使用しないでください。
PHP コードは BOM なしの UTF-8 エンコーディングのみを使用する必要があります。 2.3. 依存関係の影響 (副作用)
以下は反例であり、宣言と従属効果を含むコードです。
以下は例であり、宣言のみを含み、従属効果を生成しないコードです。 :
名前空間とクラス
名前空間とクラスの命名は [PSR-0][] に従う必要があります。 仕様では、各クラスは個別のファイルであり、名前空間には少なくとも 1 つのレベル、つまり最上位の組織名 (ベンダー名) があります。
PHP 5.3 以降のバージョンのコードは、公式の名前空間を使用する必要があります。 例:
5.2.x およびそれ以前のバージョン
では、
疑似名前空間の書き込みを使用する必要があり、慣例としてトップレベルの組織名 (ベンダー) を使用します。 Vendor _ などの名前) はクラスの接頭辞です。
<?php// 从属效应:修改 ini 配置ini_set('error_reporting', E_ALL);// 从属效应:引入文件include "file.php";// 从属效应:生成输出echo "<html>\n";// 声明函数function foo(){ // 函数主体部分}
クラスの定数、プロパティ、メソッド
<?php// 声明函数function foo(){ // 函数主体部分}// 条件声明**不**属于从属效应if (! function_exists('bar')) { function bar() { // 函数主体部分 }}
クラス
内のすべての文字は
で大文字にする必要があり、単語はアンダースコアで区切られます。次のコードを参照してください:
4.2. 属性
<?php// PHP 5.3及以后版本的写法namespace Vendor\Model;class Foo{}
は 内で一貫している必要があります。一定の範囲。このスコープは、チーム全体、パッケージ全体、クラス全体、またはメソッド全体にすることができます。
4.3. メソッド<?php// 5.2.x及之前版本的写法class Vendor_Model_Foo{}