shawnveltman / phpcsfixer-helper
PHP CS Fixer 规则集合,方便项目间共享
Requires
- php: ^7.4|^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-03 16:07:32 UTC
README
这允许我们的团队能够共享相同的代码风格,减少我们讨论这些事情所需的时间,以及处理与格式相关的提交之间的变更。
先决条件
如果你还没有安装 PhpCsFixer 和 Husky,请将以下内容复制并粘贴到终端中
composer require friendsofphp/php-cs-fixer --dev npm i -D husky lint-staged@^11.x.x npm install --save-dev @shufo/prettier-plugin-blade prettier npx husky init
然后,更新 .husky/pre-commit 文件,只保留以下这一行
npx lint-staged
然后,将以下行添加到 package.json 中(假设你的 Php CS Fixer 文件名为 .php-cs-fixer.php,如有需要请更改)
"lint-staged": { "*.php": "php ./vendor/bin/php-cs-fixer fix --config .php-cs-fixer.php", "*.blade.php": "node_modules/.bin/prettier --write resources/**/*.blade.php" },
安装
您可以通过 composer 安装此包
composer require shawnveltman/phpcsfixer-helper --dev
安装后,在您的根目录中创建一个新的名为 .php-cs-fixer.php 的文件。
更新 .gitignore
将 .php-cs-fixer.cache 添加到您的 .gitignore 文件中!
用法
安装包后,导航到您的 PHP CS Fixer 文件(例如 .php-cs-fixer.php),并将现有的 $rules 数组替换为
use Shawnveltman\PhpcsfixerHelper\PhpcsfixerHelper; $helper = new PhpcsfixerHelper(); $rules = $helper->get_style_rules();
修复器文件
如果您没有修复器文件,您可以使用以下模板将 .php-cs-fixer.php 文件
<?php use PhpCsFixer\Finder; use Shawnveltman\PhpcsfixerHelper\PhpcsfixerHelper; $helper = new PhpcsfixerHelper(); $rules = $helper->get_style_rules(); $finder = Finder::create() ->notPath('bootstrap') ->notPath('storage') ->notPath('vendor') ->notPath('coverage-report') ->in(getcwd()) ->name('*.php') ->notName('*.blade.php') ->notName('index.php') ->notName('server.php') ->ignoreDotFiles(true) ->ignoreVCS(true); $config = new PhpCsFixer\Config(); return $config->setFinder($finder) ->setRules($rules) ->setRiskyAllowed(true) ->setUsingCache(true);
测试
composer test
常见问题/故障排除
如果您运行了上述步骤,但在提交时没有自动运行,那么您的团队中可能存在不同的 npm 版本。
第一步是删除您的 node_modules 目录和 package-lock.json 文件,然后运行 npm install。
第二步是确保所有团队成员使用相同的 npm 版本。
更新日志
请参阅 CHANGELOG 以获取有关最近更改的更多信息。
贡献
请参阅 CONTRIBUTING 以获取详细信息。
安全性
如果您发现任何与安全性相关的问题,请通过电子邮件 shawn.veltman@gmail.com 联系,而不是使用问题跟踪器。
致谢
许可证
MIT 许可证(MIT)。请参阅 许可证文件 以获取更多信息。
Laravel 包模板
此包是使用 Laravel 包模板 生成的。