PSR-4オートローダーに準拠していないクラスを見つけるのに役立つカスタムPHPコードスニファースニフ。

このスニッフを試してみたい場合は、./tests/demoにアクセスしてください。
このスニフは、クラスだけでなく、インターフェイスと特性もカバーしています。
このスニフは、名前空間とクラス名の両方がPSR-4プロジェクト構造に一致するかどうかをチェックします。
このSniffはcomposer.json Autoloading構成を尊重するため、名前空間のプレフィックスとベースディレクトリ間のマッピングを宣言する必要はありません。
PSR4Fixerは、クラス名がファイル名と一致するかどうかを確認し、ファイル名に対応していない場合はクラス名を修正します。名前空間をチェックしません。
対照的に、Suin/PHPCS-PSR4-SNIFFは、クラス名だけでなく名前空間もチェックします。
slevomatcodingstandard.files.typenamematchesfileNameは、名前空間とクラス名がPSR-0/PSR-4プロジェクト構造に従うかどうかを確認するためのカスタムPHPコードスニファースニフです。
このスニッフは、Suin/PHPCS-PSR4-Sniffに似ていますが、PSR-0/PSR-4プロジェクト構造に関する明示的な構成が必要です。 Suin/PHPCS-PSR4-Sniffは、作曲家の自動ローディング構成に従うため、暗黙の方法を取ります。
composer require --dev suin/phpcs-psr4-sniff
最初は、プロジェクトのルートにPHPCSルールセットXML(PHPCS.XML.DISTまたはPHPCS.XML)ファイルを作成します。
<? xml version = " 1.0 " ?>
< ruleset name = " My Project " >
<!-- Specify directory that composer.json is placed. Usually it would be
project root directory. -->
< arg name = " basepath " value = " . " />
<!-- Relative path to your ruleset.xml -->
< rule ref = " vendor/suin/phpcs-psr4-sniff/src/Suin " />
<!-- Optional: If you have to specify composer.json path, please add
following section. -->
< rule ref = " Suin.Classes.PSR4 " >
< properties >
<!-- composerJsonPath must be relative path to "basepath" -->
< property name = " composerJsonPath " value = " sub-dir/composer.json " />
</ properties >
</ rule >
</ ruleset >次に、コマンドで実行します。
vendor/bin/phpcs src
詳細については、Changelogをご覧ください。
メインリポジトリに発行またはプルレクエストを送信します。