weerd / php-style
为 PHP 代码标准修复工具提供可分享的预配置基本样式规则。
Requires
- php: ^7.1|^8.0
- friendsofphp/php-cs-fixer: ^2.16
README
此包提供了一个简单的方法来应用预配置的基本样式规则,适用于 PHP 代码标准修复工具,可以方便地在使用 PHP 7+ 的项目和包之间共享。
您可以使用默认规则进行配置,或者您可以指定不同的支持的基本规则集,包括您想包含的任何附加规则或覆盖。
安装
$ composer require weerd/php-style
使用
在您的项目或包的根目录中添加一个 .php_cs.dist
文件。
在该文件中,创建一个新的 PhpCsFixer\Finder
实例,并配置 PHP CS Fixer 工具应查找修复代码样式的文件和目录。
接下来,调用 Weerd\PhpStyle\configure()
函数,并将查找器的实例作为第一个参数传递。
以下是一些示例,以及使用 $options
数组的变体
使用默认规则集的示例
以下示例返回一个包含 PHP 样式默认规则的配置。
<?php use PhpCsFixer\Finder; use function Weerd\PhpStyle\configure; $finder = Finder::create() ->in([ __DIR__.'/src', __DIR__.'/tests', ]); return configure($finder);
使用默认规则集和附加规则的示例
以下示例返回一个包含默认规则,以及包含在最终 PHP 样式规则集中的两个附加规则的配置。
<?php use PhpCsFixer\Finder; use function Weerd\PhpStyle\configure; $finder = Finder::create() ->in([ __DIR__.'/src', __DIR__.'/tests', ]); $options = [ 'rules' => [ 'single_quote' => true, 'trim_array_spaces' => true, ], ]; return configure($finder, $options);
使用 laravel 规则集的示例
以下示例返回一个包含 laravel 规则的配置。
<?php use PhpCsFixer\Finder; use function Weerd\PhpStyle\configure; $finder = Finder::create() ->in([ __DIR__.'/app', __DIR__.'/config', __DIR__.'/database', __DIR__.'/routes', __DIR__.'/tests', ]) ->notName('*.blade.php'); return configure($finder, ['base' => 'laravel']);
一旦您设置了 .php_cs.dist
文件,您可以通过以下命令运行 PHP CS Fixer 工具:
$ vendor/bin/php-cs-fixer fix --allow-risky=yes
或者为了更方便,将此命令添加到 composer.json
文件中的脚本
// composer.json { "scripts": { "format": "vendor/bin/php-cs-fixer fix --allow-risky=yes" } }
现在,您可以使用以下 composer 命令运行 PHP CS Fixer 工具:
$ composer format
鸣谢
🙌 感谢 @Spatie 和他们的 Laravel Package Training 课程,介绍了 PHP 代码标准修复工具及其使用方法!
🙌 此包深受 @timacdonald 的优秀文章 如何共享 PHP CS Fixer 规则 的启发!
🙌 Laravel 专用规则的完整集归功于 @laravel-shift,并在 gist 中共享的编译规则上使用,并在 Laravel Shift 上使用!