ホームページ >バックエンド開発 >PHPチュートリアル >PHP-FIG PSR-1 # 基本的なコーディング標準
この標準には、PHP 共有コードの相互運用性を確保するために使用される標準コーディング要素が含まれています。
キーワード「しなければならない」、「してはならない」、「必須」、「するものとする」、「してはならない」、「すべきである」、「すべきではない」、「推奨」は推奨されます、「してもよい」、「任意」このドキュメント内の「」は、RFC 2119 に記載されているように解釈されます。
概要短いタグ
を使用することはできません。 BOM ヘッダーのない UTF-8 エンコーディングを使用しますファイルは、限界効果を引き起こさないシンボル (クラス、関数、定数など) を宣言するか、限界効果を生み出すコードを実行する必要があります。これら 2 つの状況を 1 つのファイルに含めることはできません。
「限界的な影響」には、出力の生成、明示的な require または include、外部サービスへの接続、ini 構成の変更、エラーまたは例外の発行、グローバル変数または静的変数の変更、ファイルの読み取りと書き込みなどが含まれますが、これらに限定されません。以下は、シンボルの宣言と限界効果の生成の例です。これは避けるべき状況です:
<?php// 边际效应: 修改 ini 设置ini_set('error_reporting', E_ALL);// 边际效应: 加载文件include "file.php";// 边际效应: 生成输出echo "<html>\n";// 声明function foo() { // function body}次の例には宣言のみが含まれており、限界効果はありません:
<?php// declarationfunction foo() { // function body}// 条件式声明 不是边际效应if (! function_exists('bar')) { function bar() { // function body }}名前空間名とクラス名。 名前空間名とクラス名は次のようにする必要があります。PSR の「自動読み込み」: [PSR-0、PSR-4] に従ってください。
これは、各ファイルには 1 つのクラスのみを含めることができ、少なくとも 1 つのレベルの名前空間が存在することを意味します。レベルベンダー名。
クラス名は StudlyCaps (最初の文字はキャメルケース) 宣言を使用する必要があります。
PHP 5.3 以降のバージョンのコードでは、正式な名前空間を使用する必要があります (PHP は 5.3 より前の名前空間をサポートしません)。
例:
クラスの定数、プロパティ、およびメソッドここでの「クラス」には、クラス、インターフェイス、特性が含まれます。
4.1. 定数クラス定数は、アンダースコアで区切って大文字で宣言する必要があります。
<?php// PHP 5.3 and later:namespace Vendor\Model;class Foo {}Code written for 5.2.x and before SHOULD use the pseudo-namespacing convention of Vendor_prefixes on class names.<?php// PHP 5.2.x and earlier:class Vendor_Model_Foo{}
Attributes
このガイドでは、StudlyCaps、camelCase、$under_score のいずれかの属性命名スタイルを優先することを意図的に避けています。
どの命名スタイルが使用されても、合理的な範囲内で一貫性がある必要があります。 スコープは、ベンダー レベル、パッケージ レベル、クラス レベル、またはメソッド レベルのいずれかになります。
メソッド