micropole-idea / symfony3-custom-coding-standard
包括PHPCS 3兼容性的endouble/symfony3-custom-coding-standard的分支
v3.0
2020-09-10 14:41 UTC
Requires
README
这是https://github.com/djoos/Symfony2-coding-standard的分支。这是Symfony2标准,但为了满足我们CSB项目中的一些需求而进行了调整,例如遵守PSR-12,并且与PHPCS 3兼容
安装
Composer
此标准可以通过Composer依赖管理器进行安装。
- 使用Composer安装
composer require micropole-idea/symfony3-custom-coding-standard --dev
- 将编码规范添加到PHP_CodeSniffer的安装路径
该路径相对于php_codesniffer的安装路径。这对于在Vagrant、本地机器和PHPStorm中同时运行非常重要
bin/phpcs --config-set installed_paths ../../micropole-idea/symfony3-custom-coding-standard
-
检查已安装的编码规范中的"Symfony3"
bin/phpcs -i
-
完成!
bin/phpcs --standard=Symfony3Custom /path/to/code
-
(可选) 配置PHPStorm
- 在语言与框架 -> PHP -> Code Sniffer下配置Code Sniffer
- 转到编辑器 -> 检查 -> 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中
- 禁用了类注释规则
- 更改了连接符号间距规则,为了可读性,要求在连接点周围有1个空格,而不是像Symfony标准要求的那样不留空格
- 重新启用了从superfluousWhitespace(在PSR-2中已禁用)的空行检查