PHP コーディング仕様
1. ファイル形式
1. php コードのみを含むファイルの場合、ファイル末尾の「?>」は無視されます。これは、余分なスペースやその他の文字がコードに影響を与えるのを防ぐためです。
例:
$foo = 'foo';
2. インデントは、コードの論理結果を反映できるようにする必要があり、スペースを 4 つ使用することを禁止します。タブ文字 TAB を使用します。これにより、クライアント プログラマ ソフトウェア間での柔軟性が確保されます。
例:
if (1 == $x) {
$indented_code = 1;
if (1 == $new_line) {
$more_indented_code = 1;
}
}
3. 変数の割り当ては等間隔で配置する必要があります。
例:
$variable = 'demo';
$var = 'demo2';
4. コードの各行の長さは 80 文字以内に制御する必要があり、最大長は 80 文字以内にする必要があります。 120文字を超えてはなりません。 Linux は一般に 80 列単位でファイルを読み取るため、つまり、コード行が 80 文字を超える場合、システムはこれに対して追加の操作命令を支払うことになります。これは些細な問題のように思えるかもしれませんが、完璧を追求するプログラマーが注意し、従うべき規範でもあります。
5. 各行の末尾に余分なスペースは使用できません。
2. 命名規則
1. クラス ファイルにはすべて「.class.php」という接尾辞が付けられ、クラス ファイル名には文字のみが使用され、最初の文字は大文字になります。例: DbMysql.class.php。
2. 設定や関数などの他のクラスライブラリファイル以外のファイルには、通常、それぞれ「.inc.php」と「.php」が付けられ、ファイル名は小文字、アンダースコア、複数の単語で区切られます。 config.inc.php、common.php、install_function.php のようにアンダースコアを付けます。
3. Unix 系システムでは大文字と小文字が区別されるため、ファイルの名前付けと呼び出しの大文字と小文字が一致していることを確認してください。
4. クラス名はファイル名と一致しており (上記の大文字と小文字を含む)、クラス名には文字のみが許可されます。たとえば、UserAction クラスのファイル名は UserAction.class です。 php であり、InfoModel クラスのファイル名は InfoModel.class です。
5. コントローラー クラスには、UserAction、InfoAction などの Action という接尾辞が付けられ、UserModel、InfoModel などのモデル クラスには、Service や Widget などの対応するカテゴリという接尾辞が付けられます。
6. メソッド名は文字のみで構成でき、アンダースコアは使用できません。最初の文字は小文字にする必要があり、後続の各単語の最初の文字は大文字にする必要があります。これは、いわゆる「キャメルケース命名」です。 switchModel や findPage など、メソッドの機能を明確に記述する必要があります。
7. 属性名は文字のみで構成でき、アンダースコアは使用できません。最初の文字は小文字にする必要があり、後続の各単語の最初の文字は大文字にする必要があります。これはいわゆる「キャメルケース命名」です。 tablePrefix、tableName などのルール。
8. オブジェクトのメンバーにアクセスするには、常に「get」メソッドと「set」メソッドを使用する必要があります。例:
class Foo
{
protected $_testObj;
public function getTestObj()
{
return $this->_testObj;
}
パブリック関数 setTestObj($testObj)
二重アンダースコア「__」で始まります。保護として宣言される場合は、通常、単一のアンダースコア「_」で始まる必要があります。メソッドにはアンダースコアが含まれません。例:
class Foo
{
private function __example()
{
// ...
}
protected function _example()
{
// ...
}
public function example()
{
メソッドはグローバル関数として定義されているため、クラス内で静的形式で定義する必要があります。例:
class Think
{
// ...
static public function autoload($classname)
{
// ...
}
}
11. private として宣言されたクラス メンバー属性の前には 2 つのアンダースコア「__」を付ける必要があり、protected として宣言したクラス メンバー属性の前にはアンダースコア「_」を付ける必要があります。二重アンダースコア「__」は常に使用できません。
12. 関数の名前には小文字とアンダースコアを使用します。get_client_ip など、関数の機能を明確に説明できるほど詳細である必要があります。
13. メソッドまたは関数パラメータに必ずしも値を割り当てる必要がない場合は、パラメータがブール値でない限り、関数パラメータのデフォルト値として「false」ではなく「null」を使用します。
14. 変数は小文字とアンダースコアのみで構成できます。$i や $n などは使用しないように、わかりやすい変数名を使用することをお勧めします。
15. クラスおよびグローバル定数定義の定数は大文字とアンダースコアのみで構成され、各単語はアンダースコアで区切られます。
16. ブール値と null 値は両方とも小文字です。
3. コーディングスタイル
1. PHP コードは完全な形式 () で区切る必要があります。つまり、PHP の短いタグ () を使用しないでください。 … ?>))、終了タグの後にスペースがないことを確認してください。
2. 文字列がプレーン テキストで構成されている場合 (つまり、変数が含まれていない場合)、区切り文字として常に一重引用符 (') を使用する必要があります。例:
$a = 'Example String';
3. 変数置換の変数は、$+変数名の形式のみ許可されます。例:
$greeting = "こんにちは、$name、おかえり!"; // 許可
$greeting = "こんにちは、{$name}、おかえり!"; // 許可
$greeting = " Hello ${name}, welcome back!"; //
は使用できません。ピリオド「.」を使用して文字列を接続する場合、文字列とピリオドはスペースで区切る必要があり、分割することは許可されています可読性を高めるために複数行に分割してください。この場合、ピリオド「.」は等号「=」と揃える必要があります。例:
$sql = "SELECT `id`, `name` " . " FROM `people` "
. "WHERE `name` = 'Susan' "
. ASC ";
配列型表記を使用して配列を構築する場合、読みやすくするために各カンマの後にスペースを追加する必要があります。例: $sampleArray = array(1, 2, 3, 'Think', 'SNS');
4. 配列型指定子を使用して連想配列を宣言する場合は、それを複数行に分割することをお勧めします。しかし同時に、美しさを維持するために各行のキーと値が揃っていることを確認する必要があります。例:
$sampleArray = array(
'firstKey' => 'firstValue',
'secondKey' => 'secondValue'
);
5.中括弧はクラス名の下の行の先頭に置く必要があります。例:
class Think
{
// ...
}
6. クラス内のすべてのコードは 4 つのスペースでインデントする必要があります。
7. 各 php ファイルは 1 つのクラスのみを宣言できます。クラス ファイル内に他のコードを記述することは許可されていますが、推奨されません。本当にコードを追加したい場合は、空白行で区切る必要があります。
8. クラス変数の宣言は、関数の宣言の前にクラスの先頭に配置する必要があります。
9. 変数の宣言に var シンボルを使用することはできません。クラス メンバー変数はプライベート、プロテクト、パブリックとして宣言する必要があります。次に、クラス メンバーを public として宣言して直接参照することはできますが、通常は get メソッドと set メソッドを使用してクラス メンバーにアクセスする方が適切です。
10. メソッドは常に、private、protected、または public を使用してスコープを宣言する必要があります。
11. 静的静的メソッドはスコープを宣言する必要があり、プライベートとして宣言する必要はありませんが、サブクラスによって継承されたくない場合は、final として宣言する必要があります。
12. 関数またはメソッドの最初の中括弧は、関数宣言の後の次の行の先頭に置く必要があります。例:
function get_client_ip()
{
// …
}
13. 関数名またはメソッド名とパラメーターの括弧の間には、余分なスペースを含めることはできません。例:
function get_client_ip()
{
// …
}
14. 参照は関数パラメーターでのみ定義でき、リアルタイムでの参照の受け渡しは禁止されています。例:
// 関数パラメーターで定義された参照 - 許可されます
function defineRefInMethod(&$a)
{
$a = 'a';
}
defineRefInMethod($b) ; >}
callTimePassRef(&$c);
echo $c; // 'a'
15. 関数またはメソッドの戻り値を括弧で囲むことはできません。そうしないと読みにくくなります。今後、参照を返すように関数が変更された場合、例外がスローされます。
16. 特にモジュール設計では、可能な限り型ヒントの使用を奨励します。例:
class Foo
{
public function foo(SomeInterface $object)
{
}
public function bar(array $options)
{
}
}
17. 関数とメソッドのパラメータはカンマ + スペースで区切る必要があります。
18. パラメーターが配列である関数の場合、可読性を高めるためにパラメーター内の配列を複数の行に分割する必要があります。例:
threeArguments(array(1, 2, 3), 2, 3);
threeArguments(array(1, 2, 3, '思考',
'SNS', $a, $b, $c,
56.44, $d, 500), 2, 3);
19 「if」、「else」、「else if」に基づく条件制御では、文と括弧をスペースで区切る必要があります。中括弧「{」の先頭は条件制御文と同じ行になければなりません。末尾の「}」は常に 1 行と上部スペースを占有する必要があり、制御フローのコンテンツは 4 つのスペースでインデントする必要があり、「elseif」は使用しないでください。
if ($condition) {
// ...
} else if ($_condition) {
// ...
} else {
// ...
}
20. 条件制御ステートメントの条件括弧内では、演算子を他の要素と区切るためにスペースを使用する必要があります。長い論理判断が発生した場合は、インライン括弧を使用して各ロジックを区切ることをお勧めします。例:
if (($a != 2) and ($b == 1)) {
$a = $b;
}
21. 「switch」条件付きコントロール。ステートメントでは、テストするパラメータはスペースで他の要素と区切る必要があります。例:
switch ($num) {
// …
}
22. 「switch」ステートメントの内容は 4 つのスペースでインデントする必要があり、「case」の内容は条件付きコントロールはインデントする必要があります。インデントには 4 つのスペースが必要です。例:
switch ($indentedSpaces) {
case 2:
echo "error";
Break;
case 4:
echo "correct";
Break;
default:
Break;
}
23. 「default」コントロールは常に「switch」ステートメントに含める必要があります。
24. 「case」コンテキストで「break」または「return」を省略する必要がある場合があります。この場合、これらの「case」ステートメントに「// no Break here」コメントを追加する必要があります。例:
switch ($numPeople) {
case 1: // ここにはブレークはありません
case 2:
Break;
default:
Break;
}

PHPは、現代のWeb開発、特にコンテンツ管理とeコマースプラットフォームで依然として重要です。 1)PHPには、LaravelやSymfonyなどの豊富なエコシステムと強力なフレームワークサポートがあります。 2)パフォーマンスの最適化は、Opcacheとnginxを通じて達成できます。 3)PHP8.0は、パフォーマンスを改善するためにJITコンパイラを導入します。 4)クラウドネイティブアプリケーションは、DockerおよびKubernetesを介して展開され、柔軟性とスケーラビリティを向上させます。

PHPは、特に迅速な開発や動的なコンテンツの処理に適していますが、データサイエンスとエンタープライズレベルのアプリケーションには良くありません。 Pythonと比較して、PHPはWeb開発においてより多くの利点がありますが、データサイエンスの分野ではPythonほど良くありません。 Javaと比較して、PHPはエンタープライズレベルのアプリケーションでより悪化しますが、Web開発により柔軟性があります。 JavaScriptと比較して、PHPはバックエンド開発により簡潔ですが、フロントエンド開発のJavaScriptほど良くありません。

PHPとPythonにはそれぞれ独自の利点があり、さまざまなシナリオに適しています。 1.PHPはWeb開発に適しており、組み込みのWebサーバーとRich Functionライブラリを提供します。 2。Pythonは、簡潔な構文と強力な標準ライブラリを備えたデータサイエンスと機械学習に適しています。選択するときは、プロジェクトの要件に基づいて決定する必要があります。

PHPは、サーバー側で広く使用されているスクリプト言語で、特にWeb開発に適しています。 1.PHPは、HTMLを埋め込み、HTTP要求と応答を処理し、さまざまなデータベースをサポートできます。 2.PHPは、ダイナミックWebコンテンツ、プロセスフォームデータ、アクセスデータベースなどを生成するために使用され、強力なコミュニティサポートとオープンソースリソースを備えています。 3。PHPは解釈された言語であり、実行プロセスには語彙分析、文法分析、編集、実行が含まれます。 4.PHPは、ユーザー登録システムなどの高度なアプリケーションについてMySQLと組み合わせることができます。 5。PHPをデバッグするときは、error_reporting()やvar_dump()などの関数を使用できます。 6. PHPコードを最適化して、キャッシュメカニズムを使用し、データベースクエリを最適化し、組み込み関数を使用します。 7

PHPが多くのWebサイトよりも優先テクノロジースタックである理由には、その使いやすさ、強力なコミュニティサポート、広範な使用が含まれます。 1)初心者に適した学習と使用が簡単です。 2)巨大な開発者コミュニティと豊富なリソースを持っています。 3)WordPress、Drupal、その他のプラットフォームで広く使用されています。 4)Webサーバーとしっかりと統合して、開発の展開を簡素化します。

PHPは、特にWeb開発の分野で、最新のプログラミングで強力で広く使用されているツールのままです。 1)PHPは使いやすく、データベースとシームレスに統合されており、多くの開発者にとって最初の選択肢です。 2)動的コンテンツ生成とオブジェクト指向プログラミングをサポートし、Webサイトを迅速に作成および保守するのに適しています。 3)PHPのパフォーマンスは、データベースクエリをキャッシュおよび最適化することで改善でき、その広範なコミュニティと豊富なエコシステムにより、今日のテクノロジースタックでは依然として重要になります。

PHPでは、弱い参照クラスを通じて弱い参照が実装され、ガベージコレクターがオブジェクトの回収を妨げません。弱い参照は、キャッシュシステムやイベントリスナーなどのシナリオに適しています。オブジェクトの生存を保証することはできず、ごみ収集が遅れる可能性があることに注意する必要があります。

\ _ \ _ Invokeメソッドを使用すると、オブジェクトを関数のように呼び出すことができます。 1。オブジェクトを呼び出すことができるように\ _ \ _呼び出しメソッドを定義します。 2。$ obj(...)構文を使用すると、PHPは\ _ \ _ Invokeメソッドを実行します。 3。ロギングや計算機、コードの柔軟性の向上、読みやすさなどのシナリオに適しています。


ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

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

人気の記事

ホットツール

VSCode Windows 64 ビットのダウンロード
Microsoft によって発売された無料で強力な IDE エディター

SublimeText3 Linux 新バージョン
SublimeText3 Linux 最新バージョン

ZendStudio 13.5.1 Mac
強力な PHP 統合開発環境

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

AtomエディタMac版ダウンロード
最も人気のあるオープンソースエディター
