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)

ホットトピック











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

セッションハイジャックは、次の手順で達成できます。1。セッションIDを取得します。2。セッションIDを使用します。3。セッションをアクティブに保ちます。 PHPでのセッションハイジャックを防ぐための方法には次のものが含まれます。1。セッション_regenerate_id()関数を使用して、セッションIDを再生します。2。データベースを介してストアセッションデータを3。

PHPでは、Try、Catch、最後にキーワードをスローすることにより、例外処理が達成されます。 1)TRYブロックは、例外をスローする可能性のあるコードを囲みます。 2)キャッチブロックは例外を処理します。 3)最後にブロックは、コードが常に実行されることを保証します。 4)スローは、例外を手動でスローするために使用されます。これらのメカニズムは、コードの堅牢性と保守性を向上させるのに役立ちます。

PHPでは、include、require、include_once、require_onceの違いは次のとおりです。1)include警告を生成し、実行を継続します。これらの機能の選択は、ファイルの重要性と、重複包含を防ぐために必要かどうかに依存します。合理的な使用は、コードの読みやすさと保守性を向上させることができます。

PHPには4つの主要なエラータイプがあります。1。notice:わずかなものは、未定義の変数へのアクセスなど、プログラムを中断しません。 2。警告:通知よりも深刻で、ファイルを含むなど、プログラムを終了しません。 3。ファタラー:最も深刻なのは、機能を呼び出すなど、プログラムを終了します。 4。ParseError:構文エラーは、エンドタグの追加を忘れるなど、プログラムの実行を防ぎます。

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

HTTPリクエストメソッドには、それぞれリソースを取得、送信、更新、削除するために使用されるGET、POST、PUT、および削除が含まれます。 1. GETメソッドは、リソースを取得するために使用され、読み取り操作に適しています。 2. POSTメソッドはデータの送信に使用され、新しいリソースを作成するためによく使用されます。 3. PUTメソッドは、リソースの更新に使用され、完全な更新に適しています。 4.削除メソッドは、リソースの削除に使用され、削除操作に適しています。

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