PHP でしばらく開発をしている人なら、PSR-12 という用語に遭遇したことがあるでしょう。これは、PHP コミュニティで最も広く受け入れられているコーディング標準の 1 つであり、さまざまなプロジェクト間で PHP コードベースの一貫性を確保することを目的としています。単独で作業している場合でも、チームの一員として作業している場合でも、PSR-12 に従うことで、コードがよりクリーンになり、読みやすくなり、保守が容易になります。このブログでは、PSR-12 とは何か、なぜ重要なのか、プロジェクトにどのように適用できるのかを詳しく説明します。
PSR-12 は、PHP-FIG (Framework Interoperability Group) によって開発された、PHP 用の コーディング スタイル ガイド です。これは、以前の PSR-2 標準に基づいて構築されており、最新の PHP の実践を反映し、コードベース間の一貫性を向上させる更新されたルール セットを提供します。
PSR-12 は、クリーンで読みやすく、保守しやすい PHP コードを作成するための青写真と考えてください。 PSR-12 に従うことで、開発者はコードが標準化された構造に準拠していることを確認できるため、他のユーザーとのコラボレーションやオープンソース プロジェクトでの作業が容易になります。
PSR-12 のようなコーディング標準は、スペースやタブの細かい点を気にするだけではありません。それらが重要な理由は次のとおりです:
PSR-12 が規定する重要なルールのいくつかを詳しく見てみましょう。細かいガイドラインは数多くありますが、最も目立つガイドラインを以下に示します。
PSR-12 では、明確性を高めるために、名前空間と使用宣言が特定の順序に従う必要があります。
例:
<?php namespace App\Controllers; use App\Models\User; use App\Repositories\UserRepository; class UserController { // Class implementation }
PSR-12 では、クラス、プロパティ、メソッドの宣言方法に関していくつかの厳格なルールが適用されます。
class UserController { private $userRepository; public function __construct(UserRepository $userRepository) { $this->userRepository = $userRepository; } } <h4> 4. 制御構造 </h4> <p>if、for、switch などの制御構造は、特定のルールに従う必要があります:</p> <ul> <li> <strong>構造</strong>: 制御キーワードと左括弧の間にはスペースが 1 つ必要です。単一行のステートメントであっても、中括弧 {} を常に使用する必要があります。</li> <li> <strong>インデント</strong>: 制御構造内のすべてのブロックは 1 レベル (通常は 4 つのスペース) でインデントする必要があります。 </li> </ul> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">if ($user->isAdmin()) { echo "User is an admin"; } else { echo "User is not an admin"; }
コメントは、コードの特定の部分が存在する理由を説明するために非常に重要です。 PSR-12 は、適切かつ明確なコメントの必要性を強調しています。
<?php namespace App\Controllers; use App\Models\User; use App\Repositories\UserRepository; class UserController { // Class implementation }
プロジェクトで PSR-12 に従うには、コードを記述するときにガイドラインに手動で従うこともできますが、確実に準拠する最善の方法は、自動化ツールを使用することです。
まず、次の一般的な方法をよく理解してください:
コードが PSR-12 に従っていることを手動で確認するには時間がかかる場合がありますが、このプロセスの自動化に役立つツールがあります。
PHP コードが PSR-12 に従っていることを確認するための最も人気のあるツールの 1 つは、PHP_CodeSniffer です。コードを分析し、標準から逸脱している箇所を指摘します。
インストールして使用するには:
class UserController { private $userRepository; public function __construct(UserRepository $userRepository) { $this->userRepository = $userRepository; } }
次に、コードに対して実行します。
if ($user->isAdmin()) { echo "User is an admin"; } else { echo "User is not an admin"; }
もう 1 つの便利なツールは、PHP CS Fixer です。問題を検出するだけでなく、PSR-12 に準拠するようにコードを自動的に修正することもできます。
// Fetch user from the repository $user = $userRepository->find($id); /* * If user is not found, throw an exception. * This helps in handling invalid user IDs. */ if (!$user) { throw new NotFoundException(); }
次のコマンドでフィクサーを実行します:
composer require "squizlabs/php_codesniffer=*"
PHPStorm を使用している場合は、PSR-12 に従うように設定できます。 設定 -> に移動します。 編集者 -> コードスタイル -> PHP を選択し、標準を PSR-12 に設定します。
PHP プロジェクトで PSR-12 に従うことは、単に任意のルールに従うだけではありません。一人で作業している場合でも、チームで作業している場合でも、コードをよりクリーンで読みやすく、保守しやすくすることが重要です。 PSR-12 に従うことで、自分自身のためだけでなく、PHP コミュニティ全体のためにコードを書くことになります。
この標準の採用は、プロフェッショナルで一貫性があり、保守しやすい PHP コードを作成するための一歩です。前述のツールを使用してプロセスを簡単にし、プロジェクトがどれだけクリーンで整理されたものになるかを見てください!
コーディングを楽しんでください!
以上がPSR を理解する - PHP コーディング スタイル ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。