PHP開発仕様の概要
独自のコードを標準化するために、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'"

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック









PHPクライアントURL(CURL)拡張機能は、開発者にとって強力なツールであり、リモートサーバーやREST APIとのシームレスな対話を可能にします。尊敬されるマルチプロトコルファイル転送ライブラリであるLibcurlを活用することにより、PHP Curlは効率的なexecuを促進します

顧客の最も差し迫った問題にリアルタイムでインスタントソリューションを提供したいですか? ライブチャットを使用すると、顧客とのリアルタイムな会話を行い、すぐに問題を解決できます。それはあなたがあなたのカスタムにより速いサービスを提供することを可能にします

記事では、PHP 5.3で導入されたPHPの後期静的結合(LSB)について説明し、より柔軟な継承を求める静的メソッドコールのランタイム解像度を可能にします。 LSBの実用的なアプリケーションと潜在的なパフォーマ

JWTは、JSONに基づくオープン標準であり、主にアイデンティティ認証と情報交換のために、当事者間で情報を安全に送信するために使用されます。 1。JWTは、ヘッダー、ペイロード、署名の3つの部分で構成されています。 2。JWTの実用的な原則には、JWTの生成、JWTの検証、ペイロードの解析という3つのステップが含まれます。 3. PHPでの認証にJWTを使用する場合、JWTを生成および検証でき、ユーザーの役割と許可情報を高度な使用に含めることができます。 4.一般的なエラーには、署名検証障害、トークンの有効期限、およびペイロードが大きくなります。デバッグスキルには、デバッグツールの使用とロギングが含まれます。 5.パフォーマンスの最適化とベストプラクティスには、適切な署名アルゴリズムの使用、有効期間を合理的に設定することが含まれます。

記事では、入力検証、認証、定期的な更新など、脆弱性から保護するためのフレームワークの重要なセキュリティ機能について説明します。

この記事では、フレームワークにカスタム機能を追加し、アーキテクチャの理解、拡張ポイントの識別、統合とデバッグのベストプラクティスに焦点を当てています。

PHP開発でPHPのCurlライブラリを使用してJSONデータを送信すると、外部APIと対話する必要があることがよくあります。一般的な方法の1つは、Curlライブラリを使用して投稿を送信することです。
