ホームページ >バックエンド開発 >PHPチュートリアル >Composer および PHP コード品質標準を使用したコードのリファクタリング
時間が経つにつれて、プロジェクトが繰り返し変更され続けるにつれて、ほとんどのソフトウェア エンジニアは、最終的には自分が書いたコードが乱雑な状態になっていると感じるようになります。これらのコードは読み取り、保守、テスト、拡張が難しく、その後の開発に多大な問題をもたらします。
ソフトウェア開発は芸術であり、多くの科学技術も関係します。大規模なコード ベースを作成および保守するプロセスでは、コードの可読性と保守性を維持するための実行可能な方法をいくつか見つける必要があります。この記事では、Composer と PHP コード品質標準を使用してコードをリファクタリングし、上記の問題を解決する方法を紹介します。
コンポーザーとは何ですか?
Composer は、設定に JSON ファイルを使用し、Packagist などのソースから依存関係をダウンロードする PHP のパッケージ マネージャーです。
以前は、ライブラリ コードを手動でダウンロードしていたかも知れません。ただし、依存関係とファイルの場所を手動で追跡する必要があるため、これはさらに頭の痛い問題を引き起こすだけです。 Composer はこの問題を解決するように設計されています。
Composer を使用すると、プロジェクトのルート ディレクトリに、プロジェクトが依存するライブラリの名前とバージョンを含む、composer.json ファイルを作成するだけで済みます。
{ "require": { "vendor/library": "1.0.0" } }
「composer install」を使用します。 " コマンドで、プロジェクト内のすべての依存関係を自動的にダウンロードします。
Composer は、特定の「自動ロード」メカニズムを通じて依存関係をロードできるため、コード内でこれらのライブラリを柔軟に使用できます。
一般的な Composer コマンド:
Composer の基本的な使用法を理解したので、次に、PHP コードの品質標準を使用してコードを最適化します。
PHP コードの品質基準とは何ですか?
コード品質基準は、コードが読みやすく、理解しやすく、保守しやすいことを保証するために使用される、合意されたコーディング ルールです。
PHP 開発者にとって、一般的に使用される 2 つのコード品質標準があります。
phpcs /path/to/my/code --standard=PSR2PHPCS-Fixer は、コード内の文法エラーや書式エラーを自動的に修正できる自動コード書式設定ツールです。 PHP-CS-Fixer は、コード内の構文エラーや書式設定エラーを迅速に修正できる自動ノーマライザーです。コードをコミットするときに、PHP-CS-Fixer を継続的統合サービスに統合できます。
php-cs-fixer fix /path/to/my/code --rules=@Symfony --verboseコード リファクタリングに Composer と PHP コード品質標準を使用するにはどうすればよいですか? プロジェクトでのコード リファクタリングに Composer と PHP コード品質標準を使用すると、コードの保守と拡張が容易になります。 次に、単純なサンプル プロジェクトを例として、コード リファクタリングに Composer と PHP コード品質標準を使用する方法を示します。 まず、新しい PHP プロジェクトを作成し、Composer を使用して依存関係をインストールします。
composer require predis/predisここでは、外部データ ストレージとして Redis を使用します。 Predis は、Composer を使用して簡単にインストールできる Redis 用の PHP クライアントです。
require 'vendor/autoload.php'; $client = new PredisClient(); $key = 'foo'; $value = 'bar'; $client->set($key, $value); echo $client->get($key); // 'bar'上記のコード例では、Predis を使用して Redis に接続し、「foo」キーの値を「bar」に設定し、キーの値を取得します。ただし、このコードを PHP_CodeSniffer で解析すると、いくつかの問題が見つかります。 次に、コードをチェックするためのルールを作成して使用します:
<?xml version="1.0"?> <ruleset name="Project"> <description>Custom rule set for Project</description> <rule ref="PSR2"> <exclude name="PSR2.Classes.PropertyDeclaration"/> <exclude name="PSR2.Methods.FunctionCallSignature"/> <exclude name="PSR2.ControlStructures.ElseIfDeclaration"/> <exclude name="PSR2.ControlStructures.SwitchDeclaration"/> <exclude name="PSR2.ControlStructures.ControlStructureSpacing"/> </rule> <rule ref="Generic.CodeAnalysis.MissingFunctionDocComment"/> <rule ref="Generic.Arrays.DisallowLongArraySyntax"> <properties> <property name="bracketSpacing" type="integer" value="1"/> </properties> </rule> <rule ref="Generic.Formatting.DisallowMultipleStatements"/> <rule ref="Generic.Functions.FunctionCallArgumentSpacing"/> <rule ref="Generic.Functions.FunctionCallSpace"> <exclude-detection name="array"/> <exclude-detection name="parenthesis"/> </rule> <rule ref="Generic.Files.LineLength"> <properties> <property name="lineLimit" type="integer" value="120"/> <property name="absoluteLineLimit" type="integer" value="120"/> <property name="ignoreComments" type="boolean" value="false"/> </properties> </rule> </ruleset>ルールを定義したら、次のコマンドを使用して PHP_CodeSniffer を実行できます:
vendor/bin/phpcs ./src --standard=./phpcs.xmlこのコマンドは、「src」ディレクトリ内のすべての PHP コードを分析し、不規則な行為を報告します。次に、PHP-CS-Fixer を使用して、すべての問題を自動的に修正します。
vendor/bin/php-cs-fixer fix ./src上記のコマンドは、定義したルールに基づいて、すべてのコーディング エラーと書式設定の問題を自動的に修正します。 ここで PHP_CodeSniffer を実行しますが、問題は報告されません。 Composer と PHP コード品質標準を使用したコード リファクタリングの例が完成しました。 PHP_CodeSniffer と PHP-CS-Fixer を継続的統合システムに統合することで、このプロセスを自動化できます。 結論この記事では、コードのリファクタリングに Composer と PHP のコード品質標準を使用する方法を学びました。これらのツールは、コードをより適切に整理し、コードが高品質で保守可能であることを保証するのに役立ちます。 この記事ではいくつかのツールのみに触れていますが、コードのリファクタリングとテストの自動化に役立つ完全なエコシステムがあります。これらのツールにより、エラーやグリッチを減らしながら、高品質のコードをより迅速に提供できるようになります。
以上がComposer および PHP コード品質標準を使用したコードのリファクタリングの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。