我正在尝试运行 PHP CS Fixer,我认为它基于 Symfony(我不熟悉),并且在排除某些路径时遇到了问题。
我的设置如下:
$finder = PhpCsFixer\Finder::create()
->in(__DIR__)
->exclude('lib/adodb')
->exclude('lib/bbcode')
->exclude('lib/joomla')
->exclude('lib/JSON')
->exclude('lib/pear')
->exclude('lib/phpass')
->exclude('lib/smarty')
->exclude('lib/smtp')
->exclude('modules/*/lib')
->name('*.class')
->name('*.inc')
->name('*.php')
;
基本上,我想排除:
modules/ANYNAME/lib/ANYFILE
modules/ANYNAME/lib/ANYSUBDIR/ANYFILE
但我发现这->exclude('modules/*/lib')
条线没有抓住这些。例如,modules/somemodule/lib/somefile.inc
仍在处理中。
我原以为这是因为我有->name('*.inc')
,但无论有没有这条线,它似乎都会发生。
另一个排除工作正常,除了->exclude('modules/*/lib')
一个。
任何指针?
** 更正/更新 **
似乎问题出在名称选择器上。似乎不允许*.inc
使用name
例如选择然后尝试排除在modules/xyz/lib
.
克服这将解决我的问题