PSR を理解する - PHP コーディング スタイル ガイド
PHP でしばらく開発をしている人なら、PSR-12 という用語に遭遇したことがあるでしょう。これは、PHP コミュニティで最も広く受け入れられているコーディング標準の 1 つであり、さまざまなプロジェクト間で PHP コードベースの一貫性を確保することを目的としています。単独で作業している場合でも、チームの一員として作業している場合でも、PSR-12 に従うことで、コードがよりクリーンになり、読みやすくなり、保守が容易になります。このブログでは、PSR-12 とは何か、なぜ重要なのか、プロジェクトにどのように適用できるのかを詳しく説明します。
目次
- PSR-12 とは何ですか?
- PSR-12 はなぜ重要ですか?
-
PSR-12 の重要なルール
- ファイル構造
- 名前空間と使用宣言
- クラスとメソッド
- 制御構造
- コメントとドキュメント
- PHP プロジェクトに PSR-12 を適用する方法
- 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 の重要なルール
PSR-12 が規定する重要なルールのいくつかを詳しく見てみましょう。細かいガイドラインは数多くありますが、最も目立つガイドラインを以下に示します。
1. ファイル構造
- 開始タグ: PHP ファイルでは
- エンコーディング: ファイルは BOM (バイト オーダー マーク) なしで UTF-8 でエンコードする必要があります。
- 行の長さ: 行は 120 文字を超えてはなりませんが、80 文字までの行が推奨されます。
- 空白行: PHP の開始タグの後または終了タグの前に空白行があってはなりません。さらに、return ステートメントの前およびメソッド定義の間に 1 つの空白行が必要です。
2. 名前空間と使用宣言
PSR-12 では、明確性を高めるために、名前空間と使用宣言が特定の順序に従う必要があります。
- 名前空間宣言: 名前空間宣言は、PHP 開始タグの後の最初の行である必要があります。名前空間の後には空白行が 1 行必要です。
- Use 宣言: すべての use 宣言は、名前空間宣言の後にグループ化し、空白行で区切る必要があります。さらに、最後の use ステートメントの後には空行が 1 行必要です。
例:
<?php namespace App\Controllers; use App\Models\User; use App\Repositories\UserRepository; class UserController { // Class implementation }
3. クラスとメソッド
PSR-12 では、クラス、プロパティ、メソッドの宣言方法に関していくつかの厳格なルールが適用されます。
- クラス宣言: class キーワードの後にスペース、その後にクラス名を続ける必要があります。開き中括弧 { はクラス宣言と同じ行に配置し、閉じ中括弧 } は別の行に配置する必要があります。
- プロパティ: すべてのプロパティに対して可視性 (パブリック、プロテクト、プライベート) を宣言する必要があります。
- メソッド: クラス宣言と同様に、関数キーワードの後にスペース、その後にメソッド名を続ける必要があります。すべてのメソッドに対して可視性を宣言する必要があります。
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"; }
5. コメントとドキュメント
コメントは、コードの特定の部分が存在する理由を説明するために非常に重要です。 PSR-12 は、適切かつ明確なコメントの必要性を強調しています。
- コメントをブロック: 複数行のコメントには /* */ を使用し、コメントの前に空行を置きます。
- 単一行コメント: インライン コメントには // を使用し、コメントが意味のあるものであることを確認してください。
<?php namespace App\Controllers; use App\Models\User; use App\Repositories\UserRepository; class UserController { // Class implementation }
PHP プロジェクトに PSR-12 を適用する方法
プロジェクトで PSR-12 に従うには、コードを記述するときにガイドラインに手動で従うこともできますが、確実に準拠する最善の方法は、自動化ツールを使用することです。
まず、次の一般的な方法をよく理解してください:
- 一貫したインデントを使用する: インデントには 4 つのスペースが必要です。
- 行の長さを制限する: 読みやすくするためには 80 文字が推奨されますが、行は 120 文字未満に抑えるようにしてください。
- コード構造を整理する: クラス宣言、可視性、および制御構造のルールに従います。
PSR-12 の追跡に役立つツール
コードが PSR-12 に従っていることを手動で確認するには時間がかかる場合がありますが、このプロセスの自動化に役立つツールがあります。
1.PHP_CodeSniffer
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"; }
2. PHP CS フィクサー
もう 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=*"
3.PHPStorm
PHPStorm を使用している場合は、PSR-12 に従うように設定できます。 設定 -> に移動します。 編集者 -> コードスタイル -> PHP を選択し、標準を PSR-12 に設定します。
最終的な考え
PHP プロジェクトで PSR-12 に従うことは、単に任意のルールに従うだけではありません。一人で作業している場合でも、チームで作業している場合でも、コードをよりクリーンで読みやすく、保守しやすくすることが重要です。 PSR-12 に従うことで、自分自身のためだけでなく、PHP コミュニティ全体のためにコードを書くことになります。
この標準の採用は、プロフェッショナルで一貫性があり、保守しやすい PHP コードを作成するための一歩です。前述のツールを使用してプロセスを簡単にし、プロジェクトがどれだけクリーンで整理されたものになるかを見てください!
コーディングを楽しんでください!
以上がPSR を理解する - PHP コーディング スタイル ガイドの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

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

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

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

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

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

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

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

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

ホットトピック











PHPでは、Password_hashとpassword_verify関数を使用して安全なパスワードハッシュを実装する必要があり、MD5またはSHA1を使用しないでください。 1)password_hashセキュリティを強化するために、塩値を含むハッシュを生成します。 2)password_verifyハッシュ値を比較して、パスワードを確認し、セキュリティを確保します。 3)MD5とSHA1は脆弱であり、塩の値が不足しており、最新のパスワードセキュリティには適していません。

PHPとPythonにはそれぞれ独自の利点があり、プロジェクトの要件に従って選択します。 1.PHPは、特にWebサイトの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンス、機械学習、人工知能に適しており、簡潔な構文を備えており、初心者に適しています。

PHPは、電子商取引、コンテンツ管理システム、API開発で広く使用されています。 1)eコマース:ショッピングカート機能と支払い処理に使用。 2)コンテンツ管理システム:動的コンテンツの生成とユーザー管理に使用されます。 3)API開発:RESTFUL API開発とAPIセキュリティに使用されます。パフォーマンスの最適化とベストプラクティスを通じて、PHPアプリケーションの効率と保守性が向上します。

PHPタイプは、コードの品質と読みやすさを向上させるためのプロンプトがあります。 1)スカラータイプのヒント:php7.0であるため、基本データ型は、int、floatなどの関数パラメーターで指定できます。 3)ユニオンタイプのプロンプト:PHP8.0であるため、関数パラメーターまたは戻り値で複数のタイプを指定することができます。 4)Nullable Typeプロンプト:null値を含めることができ、null値を返す可能性のある機能を処理できます。

PHPは依然として動的であり、現代のプログラミングの分野で重要な位置を占めています。 1)PHPのシンプルさと強力なコミュニティサポートにより、Web開発で広く使用されています。 2)その柔軟性と安定性により、Webフォーム、データベース操作、ファイル処理の処理において顕著になります。 3)PHPは、初心者や経験豊富な開発者に適した、常に進化し、最適化しています。

PHPは主に手順プログラミングですが、オブジェクト指向プログラミング(OOP)もサポートしています。 Pythonは、OOP、機能、手続き上のプログラミングなど、さまざまなパラダイムをサポートしています。 PHPはWeb開発に適しており、Pythonはデータ分析や機械学習などのさまざまなアプリケーションに適しています。

PHPとPythonには独自の利点と短所があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1.PHPは、大規模なWebアプリケーションの迅速な開発とメンテナンスに適しています。 2。Pythonは、データサイエンスと機械学習の分野を支配しています。

PHPで前処理ステートメントとPDOを使用すると、SQL注入攻撃を効果的に防ぐことができます。 1)PDOを使用してデータベースに接続し、エラーモードを設定します。 2)準備方法を使用して前処理ステートメントを作成し、プレースホルダーを使用してデータを渡し、メソッドを実行します。 3)結果のクエリを処理し、コードのセキュリティとパフォーマンスを確保します。
