fabianblum/phpcs-psr4-sniff

PHP_CodeSniffer sniff 用于检查类名是否符合 PSR-4 项目结构。 (兼容 PHP 8.3)

安装次数: 75

依赖项: 0

建议者: 0

安全: 0

星标: 0

关注者: 0

分支: 16

类型:phpcodesniffer-standard

3.0.1 2024-09-03 12:19 UTC

This package is auto-updated.

Last update: 2024-09-03 12:21:51 UTC


README

这是一个自定义的 PHP Code Sniffer sniff,用于帮助找到不符合 PSR-4 自动加载器 的类。

废弃包的公共分支

此包最初托管在 https://github.com/suin/phpcs-psr4-sniff,但现在似乎已被废弃。为了方便迁移,保留了原始的命名空间。

要切换到此包,请使用以下命令

composer remove suin/phpcs-psr4-sniff
composer require fabianblum/phpcs-psr4-sniff

演示

如果您想尝试此 sniff,请访问 ./tests/demo

功能

类、接口和特质

此 sniff 不仅涵盖类,还包括接口和特质。

命名空间和类名

此 sniff 检查命名空间和类名是否都符合 PSR-4 项目结构。

无需配置

由于此 sniff 尊重 composer.json自动加载配置,您无需声明命名空间前缀和基本目录之间的映射。

类似包

PHP-CS-Fixer 的 Psr4Fixer

Psr4Fixer 检查类名是否应与文件名匹配,并在其不对应文件名时修复类名。它不检查命名空间。

相比之下,此包不仅检查类名,还检查命名空间。

SlevomatCodingStandard.Files.TypeNameMatchesFileName

SlevomatCodingStandard.Files.TypeNameMatchesFileName 是一个自定义的 PHP Code Sniffer sniff,用于检查命名空间和类名是否遵循 PSR-0/PSR-4 项目结构。

此 sniff 与 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

变更日志

请参阅 CHANGELOG 了解更多详情。

贡献

向主仓库发送 问题pull-request