maagiline / maagiline-phpcs
Maagiline PHP编码规范
3.0.0
2023-10-26 10:15 UTC
Requires
- slevomat/coding-standard: ~8.0
- squizlabs/php_codesniffer: ^3.5.5
README
在本地开发环境和CI管道中使用此编码规范。
添加到您的项目
首先,通过composer安装
composer require maagiline/maagiline-phpcs
然后,在项目目录中创建一个规则集。规则集应
- 参考maagiline-phpcs规则集的说明
- 指定要扫描的文件/目录
以下是一个用于Laravel项目的示例ruleset.xml
<?xml version="1.0"?>
<ruleset>
<!-- For setup guide refer to vendor/maagiline/maagiline-phpcs/readme.md-->
<rule ref="./vendor/maagiline/maagiline-phpcs"/>
<!-- Don't scan these directories -->
<exclude-pattern type="relative">./bin/</exclude-pattern>
<exclude-pattern type="relative">./bootstrap/</exclude-pattern>
<exclude-pattern type="relative">./config/</exclude-pattern>
<exclude-pattern type="relative">./public/</exclude-pattern>
<exclude-pattern type="relative">./resources/</exclude-pattern>
<exclude-pattern type="relative">./storage/</exclude-pattern>
<exclude-pattern type="relative">./vendor/</exclude-pattern>
<!-- Dont require namespace in migrations -->
<rule ref="PSR1.Classes.ClassDeclaration.MissingNamespace">
<exclude-pattern>./database/</exclude-pattern>
</rule>
</ruleset>
在PhpStorm中设置
设置代码嗅探
代码嗅探将指示您的编辑器在代码中显示样式问题。
- 在PhpStorm设置中,转到语言和框架 > PHP > 质量工具
- 对于PHP Codesniffer路径,输入:
vendor/bin/phpcs
- 在PhpStorm设置中,转到编辑器 > 检查 > 质量工具 > PHP_Codesniffer验证
- 勾选此选项
- 将严重性设置为“错误”
- 在编码规范中,选择自定义并选择
./ruleset.xml
(指向您在项目根目录中创建的ruleset.xml
)
设置代码美化器
一些错误可以通过phpcbf
自动修复。想要成为真正的酷炫?设置PhpStorm以自动修复您的样式问题。
将phpcbf设置为外部工具
首先,在“外部工具”下添加phpcbf。
- 在PhpStorm设置中,转到工具 > 外部工具
- 添加新工具(点击窗口底部的加号)
- 输入以下信息
Name: phpcbf
Description: Fixed phpcs issues automatically
Program: $ProjectFileDir$/vendor/squizlabs/php_codesniffer/bin/phpcbf
Arguments: --standard=$ProjectFileDir$/ruleset.xml $FileDir$/$FileName$
Working directory: $ProjectFileDir$
Under 'Advanced options', uncheck "Open console for tool output".
从键盘快捷键触发phpcbf
在上一菜单中单击“应用”后,执行此操作
- 在PhpStorm设置中,转到快捷键映射
- 搜索“phpcbf”
- 分配一个快捷键。我喜欢使用
cmd+shift+B
现在,每次在存在错误的文件中时,按此键运行phpcbf。所有可以自动修复的错误都将被修复。
在文件保存时触发phpcbf
(尚未测试)。如果您希望每次文件保存时自动运行phpcbf,您可以在PhpStorm设置中创建一个文件监视器。设置应类似于上一节中概述的设置。勇敢一点!
命令行工具
列出错误
./vendor/bin/phpcs --standard=./ruleset.xml
一些错误可以自动修复。要自动修复
./vendor/bin/phpcbf --standard=./ruleset.xml