ホームページ > バックエンド開発 > PHPチュートリアル > PSR を理解する - PHP コーディング スタイル ガイド

PSR を理解する - PHP コーディング スタイル ガイド

Susan Sarandon
リリース: 2024-10-22 06:11:31
オリジナル
632 人が閲覧しました

Understanding PSR- The PHP Coding Style Guide

PHP でしばらく開発をしている人なら、PSR-12 という用語に遭遇したことがあるでしょう。これは、PHP コミュニティで最も広く受け入れられているコーディング標準の 1 つであり、さまざまなプロジェクト間で PHP コードベースの一貫性を確保することを目的としています。単独で作業している場合でも、チームの一員として作業している場合でも、PSR-12 に従うことで、コードがよりクリーンになり、読みやすくなり、保守が容易になります。このブログでは、PSR-12 とは何か、なぜ重要なのか、プロジェクトにどのように適用できるのかを詳しく説明します。

目次

  1. PSR-12 とは何ですか?
  2. PSR-12 はなぜ重要ですか?
  3. PSR-12 の重要なルール
    • ファイル構造
    • 名前空間と使用宣言
    • クラスとメソッド
    • 制御構造
    • コメントとドキュメント
  4. PHP プロジェクトに PSR-12 を適用する方法
  5. PSR-12 の追跡に役立つツール
  6. 最終的な感想

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 サイトの他の関連記事を参照してください。

ソース:dev.to
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のおすすめ
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート