egosun / code-sniffer
为 Symfony3 项目定制的 CodeSniffer 规则集
此包的官方仓库似乎已消失,因此该包已被冻结。
0.0.2
2018-10-19 10:46 UTC
Requires
This package is auto-updated.
Last update: 2023-06-19 22:11:03 UTC
README
这是 https://github.com/djoos/Symfony2-coding-standard 的分支。这些是 Symfony2 标准,但根据我们在 CSB 项目的需求进行了调整,例如为了符合 PSR-12 以适应 PHP 7。
安装
Composer
可以使用 Composer 依赖管理器安装此标准。
将存储库添加到您的 composer.json 文件中
"repositories": [ { "type": "vcs", "url": "git@github.com:Endouble/Symfony3-custom-coding-standard" }
将编码标准作为您项目的依赖项添加
"require-dev": {
"endouble/symfony3-custom-coding-standard": "^2.10"
},
- 将编码标准添加到 PHP_CodeSniffer 安装路径
此路径相对于 php_codesniffer 安装路径。这对于在 vagrant、本地机器和 PHPStorm 中使其正常工作非常重要
bin/phpcs --config-set installed_paths ../../endouble/symfony3-custom-coding-standard
检查已安装的编码标准以查找 "Symfony2"
bin/phpcs -i
完成!
bin/phpcs --standard=Symfony3Custom /path/to/code
(可选)配置 PHPStorm
- 在 Languages & Frameworks -> PHP -> Code Sniffer 下配置代码检查器
- 转到 Editor -> Inspections -> PHP Code sniffer,刷新标准并选择 Symfony3Custom
自定义
以下是对原始标准进行的调整
在 Sniff/WhiteSpace/AssignmentSpacingSniff 中
- 添加了对 `declare(strict_types=1);` 的异常处理,以符合 PSR-12
在 Sniff/WhiteSpace/FunctionalClosingBraceSniff 中
- 从 Squiz 复制并调整,以在函数末尾没有空行
在 Sniff/Commenting/FunctionCommentSniff 中
- 检查在 docblock 上方的 1 个空行
- 不检查测试和 setUp 方法(PHPunit,将是空的)的 docblock
- 检查受保护的和私有方法的 docblock
在 Sniff/NamingConventions/ValidClassNameSniff 中
- 删除了抽象类名称规则
在 ruleset.xml 中
- 禁用了类注释规则
- 更改了连接空格规则,为了可读性,要求在连接点周围有一个空格,而不是像 Symfony 标准要求的没有空格。
- 重新启用了从 superfluousWhitespace(在 PSR-2 中禁用)的空白行检查