PHP は柔軟性があるため、多くの人はコードを記述するときに適切なコード仕様に注意を払わず、すでに柔軟な PHP コードが乱雑に見えます。実際、PSR 仕様 PSR -1 および PSR-2 では、PHP コーディングのいくつかの仕様が定義されており、これらの仕様にしっかり従っていれば、柔軟なスクリプト言語を使用した場合でも、非常に美しく整ったコードを書くことができます。まず、承認された PSR 仕様を見て、次に PSR-1 および PSR-2 仕様の特定の要件のいくつかを簡単に説明します。
#合格した PSR
名前 | 説明 | |
---|---|---|
PHP タグや基本的な命名規則などの基本仕様について | #2 | |
中括弧やパラメータリストの位置、その他のコーディング形式に関する規定 | 3 | |
ログレベルとログ記録動作に関する規定 | 4 | |
クラスと名前空間の命名規則、およびそれらとファイル システム間のマッピングの規定 | 6 | |
キャッシュ管理に関する規制。データ型、キャッシュ項目のライフサイクル、エラー処理など。 | 7 | |
HTTP 要求と応答に関する規則 |
PSR-1 基本コーディング標準 1. タグの開閉 まず、PHP コード 2. 副作用 PHP ファイルは、クラス、インターフェイス、関数などを宣言するか、論理操作 (ファイルの読み書きや出力の送信など) を実行します。ブラウザ)、しかし両方であるべきではありません。 3. 命名 クラスの命名は、大文字で始まるキャメルケースの命名規則に従う必要があります。つまり、クラス名は大文字で始める必要があります。プロパティに名前を付ける必要はありませんが、一貫性を持たせる必要があります。メソッド名は、小文字で始まるキャメルケースの命名規則に準拠する必要があります。クラス定数内の文字はすべて大文字にする必要があり、単語はアンダースコアで区切られます。 PSR-2 コーディング スタイル仕様 1. PSR-1 では、PHP コードが PSR-2 では、純粋な PHP ファイルは ?> タグで終わらず、空行で終わるべきであると規定しています。 2. 名前空間宣言の後に空行を挿入し、use ステートメント ブロック の後にも空行を挿入する必要があります。 同じコード行に複数の use ステートメントを作成しないでください。 3. クラスの始まりと終わり class キーワード、クラス名、extends キーワードとimplements キーワードは同じ行になければなりません。クラスが複数のインターフェイスを実装する場合、インターフェイス名はクラス宣言の同じ行に置くことも、別の行に置くこともできます。これらのインターフェイス名を複数行に配置する場合は、最初のインターフェイス名を単独の行に配置し、implements キーワードの後に続かないようにする必要があります。クラスの左中括弧 ({) は関数宣言の後の独自の行に記述する必要があり、閉じ中括弧 (}) もクラス本体の後の独自の行に記述する必要があります。つまり、クラス宣言は次のようになります。 class EarthGame extends Game implements Playable, Savable { //类体 } ログイン後にコピー クラス名をクラス宣言と同じ行に置くことも可能です。 class EarthGame extends Game implements Playble, Savable { //类体 } ログイン後にコピー 4. 属性宣言 各属性にはアクセス修飾子 (パブリック、プライベート、または保護) が必要です。キーワード var を使用して属性を宣言することはできません。属性名の仕様は PSR-1 ですでに説明されています。アンダースコア、小文字のキャメルケースの命名、または大文字のキャメルケースの命名を使用できますが、一貫性を保つ必要があります。 (属性には小文字のキャメルケースを使用することを個人的にお勧めします) 5. メソッドの始まりと終わり すべてのメソッドにはアクセス修飾子 (public、private、または protected) が必要です。 。アクセス修飾子は、abstract または Final の後、static の前になければなりません。デフォルト値を持つメソッドパラメータはパラメータリストの最後に配置する必要があります。 ●単一行宣言 final public static function generateTile(int $diamondCount, bool $polluted = false) { //方法体 } ログイン後にコピー 複数行の宣言 public function __construct( int $size, string $name, bool $warparound = false, bool $aliens = false ) { //方法体 } ログイン後にコピー 6. 行とインデント コードはタブではなく 4 つのスペースを使用してインデントする必要があります。エディターの設定を確認して、Tab キーが押されたときにタブの代わりに 4 つのスペースを使用するように設定できます。コードの各行は 120 文字以下にする必要があります。 7. メソッドと関数呼び出し メソッド名と左括弧の間にスペースを入れることはできません。メソッド呼び出しのパラメータ リストの規則は、メソッド宣言のパラメータ リストの規則と同じです。つまり、単一行の呼び出しの場合、開き括弧の後または閉じ括弧の前にスペースを入れることはできません。各パラメータの後にはカンマを入力し、次のパラメータの前にはスペースを入れる必要があります。メソッド呼び出しに複数行のコードが必要な場合は、各パラメータを個別の行にインデントし、右かっこを個別の行に配置する必要があります。 $earthGanme = new EarthGame( 5, 'earth', true, true ); $earthGame::generateTile(5, true); ログイン後にコピー 8. プロセス制御 プロセス制御キーワード (if、for、while など) の後にはスペースを続ける必要があります。ただし、左括弧の後にスペースを入れることはできません。同様に、右括弧の前にスペースを入れることはできません。したがって、コンテンツは括弧内にぴったりと収まる必要があります。クラスおよび (単一行) 関数の宣言とは異なり、フロー制御コードの左中括弧は右括弧と同じ行にある必要があります。閉じ中括弧は単独の行に置く必要があります。以下に簡単な例を示します。 |
以上がPHPコーディングスタイル仕様の詳細な紹介の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。