CakePHP フレームワークにおける PSR2 および PSR4 仕様のアプリケーションの実践と推進

王林
リリース: 2023-10-15 14:00:01
オリジナル
910 人が閲覧しました

CakePHP フレームワークにおける PSR2 および PSR4 仕様のアプリケーションの実践と推進

CakePHP フレームワークにおける PSR2 および PSR4 仕様のアプリケーションの実践と推進 - コード例

はじめに:
現在、ほとんどの開発者は PHP アプリケーションを開発しています。コードの読みやすさと保守性を向上させるために、プログラミング時に特定のコーディング標準に従うこと。 PHP-FIG (PHP Framework Interop Group) によって提案された PSR2 および PSR4 は、PHP 開発者によって広く使用されているコーディング標準です。この記事では、CakePHP フレームワークにおける PSR2 および PSR4 仕様の適用実践を詳細に紹介し、具体的なコード例を示します。

1. PSR2 仕様の適用実践

  1. コード スタイルの統一
    PSR2 仕様は、インデント、スペース、括弧、命名などを含むコード スタイルの統一に主に焦点を当てています。 。 CakePHP フレームワークでは、CakePHP のコード スタイル チェック ツールを設定することで、コードを強制的に PSR2 仕様に準拠させることができます。

まず、プロジェクトのルート ディレクトリに .php_cs.dist ファイルを作成します。ファイルの内容は次のとおりです。

friendsofphp/php-cs-fixer

パッケージでそれを実行し、composer.json に次のスクリプト コマンドを追加します: <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&lt;?php return PhpCsFixerConfig::create() -&gt;setRiskyAllowed(true) -&gt;setRules([ '@PSR2' =&gt; true, // 在这里添加其他自定义的规则 ]) -&gt;setFinder( PhpCsFixerFinder::create() -&gt;exclude('vendor') -&gt;in(__DIR__) );</pre><div class="contentsignin">ログイン後にコピー</div></div>最後に、

composer cs を実行します。 -check

コマンド プロジェクト内のコードが PSR2 仕様に準拠しているかどうかを確認できます。composer cs-fix コマンドを実行すると、コード内のスタイルの問題を自動的に修正できます。

コード コメントの仕様
    さらに、PSR2 仕様では、開発者がクラス、属性、メソッドなどに関するコメントを含む、コードに標準化されたコメントを作成することも求められています。 CakePHP フレームワークでは、PHPDoc アノテーションを使用してこの要件を達成できます。

  1. たとえば、コントローラー クラス
UserController

の場合、次の例に従ってアノテーションを付けることができます。 <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'>&quot;scripts&quot;: { &quot;cs-check&quot;: &quot;php-cs-fixer fix --dry-run&quot;, &quot;cs-fix&quot;: &quot;php-cs-fixer fix&quot; }</pre><div class="contentsignin">ログイン後にコピー</div></div> 上記の例を通じて、コントロール デバイス、メソッドの目的、戻り値などに対応するデータテーブル。

2. PSR4 仕様のアプリケーション実践

PSR4 仕様は主に、アプリケーションでクラスをロードする統一された方法を提供する PHP 名前空間の自動ロードに焦点を当てています。


CakePHP フレームワークでは、次の手順で PSR4 仕様を使用できます。

次のコンテンツを
    composer.json
  1. に追加します。
    /**
     * Class UserController
     *
     * @package AppController
     * @property AppModelTableUsersTable $Users
     */
    class UserController extends AppController
    {
        /**
         * 用户列表页
         *
         * @return CakeHttpResponse|null
         */
        public function index()
        {
            // 方法逻辑......
        }
    }
    ログイン後にコピー
    composer dump-autoload
  1. コマンドを実行して、プロジェクトに自動読み込みルールを適用します。 PSR4 仕様クラスの名前空間を使用してクラスをロードします:
  2. "autoload": {
        "psr-4": {
            "App\": "src/",
            "App\Test\": "tests/",
            "App\Console\": "src/Console/",
            "App\Controller\": "src/Controller/",
            // 添加其他命名空间映射
        }
    }
    ログイン後にコピー
    上の例では、AppControllerUserController

    クラスを使用し、クラス ファイルを手動でインクルードしませんでした。代わりに、クラスは自動ロードによってロードされます。 結論:

    PSR2 および PSR4 仕様を CakePHP フレームワークに適用することで、コードの可読性が向上し、統一されたコーディング スタイルとコーディング標準を使用できるため、プロジェクトの保守性とチーム開発が向上します。効率。同時に、上記のサンプルコードを通じて、これら 2 つの仕様を CakePHP フレームワークに適用する方法を明確に理解できます。これらの実践的な経験は、今後の開発に必ず役立つと思います。

    以上がCakePHP フレームワークにおける PSR2 および PSR4 仕様のアプリケーションの実践と推進の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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