PHPコードを作成する場合、コードの読みやすさと保守性にとって、一貫したコード仕様に従うことが重要です。ただし、コードを手動で調整して最新のPHPエンコーディング基準に準拠することは、非常に退屈で時間がかかる場合があります。幸いなことに、PHPコード生成ツールの助けを借りて、このプロセスを自動化し、最新のPHPコード仕様に準拠したコードスニペットを簡単に生成できます。
この記事では、一般的なPHPコード生成ツール-PHP-CS-Fixerを紹介します。これにより、一連のプリセットルールに基づいてPHPコードの仕様問題を自動的に修正できます。
まず、PHP-CS-Fixerをインストールして構成する必要があります。コマンドラインから次のコマンドを実行してインストールします。
composer global require friendsofphp/php-cs-fixer
インストールが完了したら、任意のディレクトリでPHP-CS-Fixerを使用できるように、インストールディレクトリをシステム環境変数に追加することを忘れないでください。
ツールをインストールした後、次のコマンドを使用して、コードの仕様の問題を確認できます。
php-cs-fixer fix src/
このコマンドは、 `src/`ディレクトリ内のすべてのPHPファイルを通過し、プリセットルールに従ってコードの仕様の問題を修正します。修復されたコードは元のファイルを直接上書きすることに注意する必要があるため、このコマンドを実行する前にコードバックアップを実行することをお勧めします。
プロジェクト全体のコードを修正するための手動で実行されているコマンドに加えて、構成ファイルを編集してルールをカスタマイズすることもできます。プロジェクトのルートディレクトリに `.php_cs.dist`という名前のファイルを作成し、次のコンテンツに入力します。
<?php
$finder
= PhpCsFixerFinder::create()
->exclude(
'vendor'
)
->in(__DIR__);
return
PhpCsFixerConfig::create()
->setRules([
'@PSR12'
=> true,
'trailing_comma_in_multiline'
=> true,
// 其他规则...
])
->setFinder(
$finder
);
この構成ファイルでは、「$ Finder」を介してチェックする必要があるフォルダーとファイルを定義し、「除外」メソッドを使用して「ベンダー」ディレクトリを除外します。次に、構成オブジェクトはphpcsfixerconfig :: createを介して作成され、ルールはsetrulesメソッドを使用して定義されます。
たとえば、 `@psr12`ルールは「true」に設定されており、最新のPSR-12コードの仕様に従っていることを示しています。 「Trailing_Comma_in_Multiline」などの他のルールをカスタマイズすることもできます。これは、マルチライン配列またはパラメーターリストにコンマを追加することもできます。
ルールを構成した後、コードを修正するために次のコマンドを実行する必要があります。
php-cs-fixer fix
このコマンドは、現在のディレクトリ内のすべてのPHPファイルを自動的に見つけて修復します。
特定のファイルのみを修復する場合は、コマンドの後にファイルパスを指定できます。
php-cs-fixer fix path/to/file.php
PHP-CS-FixerなどのPHPコード生成ツールを使用することにより、コードの一貫性、読みやすさ、保守性を大幅に向上させることができます。このツールは、プリセットルールに基づいてコードを自動的に修理するだけでなく、プロジェクトのニーズをより適切に満たすためにルールをカスタマイズすることもできます。
これらのツールはコード仕様の問題を自動的に修正できますが、修理後に手動レビューを実行して、すべての修理操作がプロジェクトの実際のニーズを満たすことを確認することをお勧めします。