suin / phpcs-psr4-sniff
PHP_CodeSniffer嗅探器,用于检查类名是否符合PSR-4项目结构。
v3.0.0
2021-06-02 06:16 UTC
Requires
- php: >=7.1
- ext-json: *
- slevomat/coding-standard: >=4.7 <8.0.0
- squizlabs/php_codesniffer: >=3.3 <4.0.0
README
一个自定义的PHP Code Sniffer嗅探器,用于帮助找到不符合PSR-4自动加载器的类。
演示
如果您想尝试此嗅探器,请访问./tests/demo。
特性
类、接口和特性
此嗅探器不仅涵盖类,还涵盖接口和特性。
命名空间和类名
此嗅探器检查命名空间和类名是否与PSR-4项目结构匹配。
无需配置
由于此嗅探器尊重composer.json
的自动加载配置,因此您无需声明命名空间前缀和基本目录之间的映射。
类似包
PHP-CS-Fixer的Psr4Fixer
Psr4Fixer检查类名是否应该与文件名匹配,并在类名与其文件名不对应时修复类名。它不检查命名空间。
相比之下,suin/phpcs-psr4-sniff不仅检查类名,还检查命名空间。
SlevomatCodingStandard.Files.TypeNameMatchesFileName
SlevomatCodingStandard.Files.TypeNameMatchesFileName是一个自定义的PHP Code Sniffer嗅探器,用于检查命名空间和类名是否遵循PSR-0/PSR-4项目结构。
此嗅探器与suin/phpcs-psr4-sniff类似,但需要显式配置PSR-0/PSR-4项目结构。suin/phpcs-psr4-sniff采取隐式方式,因为它遵循Composer的自动加载配置。
安装
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
变更日志
有关更多详细信息,请参阅变更日志。