PHP開発仕様の概要

WBOY
リリース: 2016-06-20 12:31:53
オリジナル
1226 人が閲覧しました

独自のコードを標準化するために、CodeIgniter、Laravel、PSR およびその他の関連仕様を参照して、PHP コードの仕様をまとめました。

[TOC] ## ファイル形式

PHP コード ファイルは、BOM なしの UTF-8 でエンコードする必要があります。

すべての PHP ファイルは、行終端文字として Unix LF (改行) を使用する必要があります。

PHP 終了タグ

すべての PHP ファイルは空行で終わる必要があります。

純粋な PHP コード ファイルでは、最後の ?> 終了タグを省略する必要があります。

ファイルの名前

クラス ファイルの名前は大文字で始める必要があり、他のファイル (構成ファイル、ビュー、一般的なスクリプト ファイルなど) の名前はすべて大文字で始める必要があります。小文字。さらに、クラス ファイルの名前はクラスの名前と一致している必要があります。

名前空間とクラスの名前付け

  • CI フレームワーク: クラス名は大文字で始まり、複数の単語を区切るにはアンダースコアを使用する必要があり、キャメルケースの名前付けは使用しないでください。
  • RSP-1: クラスの命名は、大文字で始まる StudlyCaps のキャメルケース命名規則に従う必要があります。

メソッドの名前

  • CI フレームワーク: クラス メソッドはすべて小文字にする必要があり、メソッドの機能を明確に示す必要があり、できれば動詞を含める必要があります。 長い名前は避け、複数の単語を区切るにはアンダースコアを使用してください。
  • RSP-1: メソッド名は、camelCase() スタイルの小文字キャメルケース命名規則に準拠する必要があります。

属性の命名

  • CI フレームワーク: 変数の命名規則はクラス メソッドの命名規則に非常に近く、すべて小文字を使用し、区切るにはアンダースコアを使用します。これは変数の目的を明確に示す必要があります。非常に短い無意味な変数は、for ループのイテレータとしてのみ使用する必要があります。
  • RSP-1: クラス属性の命名は、大文字で始まるキャメルケース ($StudlyCaps)、小文字で始まるキャメルケース ($camelCase)、または下線区切り ($under_score) に従うことができますが、この例では行われません。仕様は必須ですが、どの命名スキームに従う場合でも、特定の範囲内では一貫している必要があります。このスコープは、チーム全体、パッケージ全体、クラス全体、またはメソッド全体にすることができます。

コメント

通常は、経験の浅いプログラマにコードの流れと意図を説明できるだけでなく、数か月後にもコメントを書く必要があります。自分のコードを振り返るときにも、それをよく理解するのに役立ちます。 コメントに必須の形式はありませんが、次の形式を推奨します。

クラス、メソッド、プロパティ定義の前に記述された DocBlock スタイルのコメントは、IDE で認識できます。

/** * Super Class * * @package Package Name * @subpackage  Subpackage * @category    Category * @author  Author Name * @link    http://example.com */class Super_class {
ログイン後にコピー
/** * Encodes string for use in XML * * @param   string  $str    Input string * @return  string */function xml_encode($str)
ログイン後にコピー
/** * Data for class manipulation * * @var array */public $data = array();
ログイン後にコピー

単一行のコメントはコードに統合する必要があります。 、大きなコメントとコードの間には空白行が必要です。

// break up the string by newlines$parts = explode("\n", $str);// A longer comment that needs to give greater detail on what is// occurring and why can use multiple single-line comments.  Try to// keep the width reasonable, around 70 characters is the easiest to// read.  Don't hesitate to link to permanent external resources// that may provide greater detail://// http://example.com/information_about_something/in_particular/$parts = $this->foo($parts);
ログイン後にコピー

定数

クラスの定数内の文字はすべて大文字にする必要があり、単語はアンダースコアで区切る必要があります。 次のコードを参照してください:

<?phpnamespace Vendor\Model;class Foo{    const VERSION = '1.0';    const DATE_APPROVED = '2012-06-01';}
ログイン後にコピー

すべての PHP キーワードはすべて小文字である必要があります。

定数 true、false、null もすべて小文字にする必要があります。

論理演算子

|| 演算子は使用しないでください。一部のデバイスでは表示されません (数字の 11 のように見える場合があります)。AND よりも && 演算子を使用することをお勧めします。どちらも許容されます。 さらに、! 演算子の前後にスペースを追加する必要があります。

戻り値の比較と型変換

PHP 関数の中には失敗時に FALSE を返すものもありますが、ルーズな関数で使用される "" や 0 などの有効な値を返す場合もあります。型の比較は FALSE に等しい。したがって、条件内の比較にこれらの戻り値を使用する場合は、厳密な型比較を使用して、戻り値が実際に必要なものであることを確認し、他の緩い型の値ではないことを確認してください。

独自の戻り値と変数をチェックするときも、必要に応じて === と !== を使用して、この厳密なアプローチに従ってください。

ファイル内のスペース

PHP 開始タグの前と終了タグの後にスペースを残さないでください。

クラスごとに 1 つのファイル

複数のクラスが密接に関連している場合を除き、各クラスは個別のファイルを使用する必要があります。

スペース

  • CI フレームワーク: コード内でスペースの代わりにタブを使用することは小さなことのように思えるかもしれませんが、スペースの代わりにタブを使用すると、開発者はコード内のインデントをカスタマイズできます。コードを読み取るときに、好みに応じてプログラムを実行します。 もう 1 つの利点は、ファイルをよりコンパクトにできることです。つまり、4 つのスペース文字の代わりに 1 つのタブ文字だけで済みます。
  • PSR-2: コードはタブ キーの代わりに 4 つのスペースを使用してインデントする必要があります。
  • インデントにはタブを使用し、位置揃えにはスペースを使用します。

コードのインデント

関数と制御構造は Allman スタイルで囲む必要があります

文字列

文字列は二重引用符で囲みます。文字列に変数がある場合は、中括弧を使用して変数を囲みます。 さらに、文字列内に一重引用符がある場合は、エスケープ文字が必要ないように二重引用符も使用する必要があります。

'My String'"My string {$foo}""SELECT foo FROM bar WHERE baz = 'bag'"
ログイン後にコピー
関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート