suin/phpcs-psr4-sniff

PHP_CodeSniffer嗅探器,用于检查类名是否符合PSR-4项目结构。

安装次数: 498,820

依赖: 23

建议者: 0

安全: 0

星标: 26

关注者: 5

分支: 15

类型:phpcodesniffer-standard

v3.0.0 2021-06-02 06:16 UTC

This package is auto-updated.

Last update: 2024-08-29 05:22:16 UTC


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

变更日志

有关更多详细信息,请参阅变更日志

贡献

问题拉取请求发送到主存储库。