1

如何在 php-cs-fixer 中使用其他文件扩展名,例如 cakephp 模板 .ctp 文件?

我试过这段代码:

<?php
$finder = PhpCsFixer\Finder::create()
    ->notPath('bootstrap/cache')
    ->notPath('storage')
    ->notPath('vendor')
    ->in(__DIR__)
    ->name('*.php') // <===== *.ctp
    ->notName('*.blade.php')
    ->ignoreDotFiles(true)
    ->ignoreVCS(true)
;

return PhpCsFixer\Config::create()
    ->setRules(array(
        '@Symfony' => true,
        'binary_operator_spaces' => ['align_double_arrow' => false],
        'array_syntax' => ['syntax' => 'short'],
        'linebreak_after_opening_tag' => true,
        'not_operator_with_successor_space' => true,
        'ordered_imports' => true,
        'phpdoc_order' => true,
    ))
    ->setFinder($finder)
;
4

2 回答 2

0

问题是,以原始方式运行 PHP CS Fixer,您在配置文件中配置了一次路径查找器,然后您将路径也作为 CLI 参数传递。结果 - 您在配置中完全定义了 finder,后来被 CLI 参数覆盖,您还收到一条消息:

Paths from configuration file have been overridden by paths provided as command arguments.

解决方案是: - 仅在配置文件中提供路径 - 仅提供路径作为 CLI 参数 - 在两个地方提供路径(例如,在 config 中plugins,而作为 CLI 参数plugins/subdir(因为传递完全相同的值实际上没有意义。 ..),但还提供--path-mode=intersection参数,不覆盖路径,而是采用路径的公共部分(一个在配置中,一个作为 CLI arg)

于 2018-06-18T11:32:11.037 回答
-1

非常重要的是不要在终端命令中使用路径参数示例:

php-cs-fixer fix test/global.php

cs fixer 使用来自命令参数的路径,而不是查找器

只需运行

php-cs-fixer fix 

很简单,但是一不留神就可以跳过

于 2019-09-27T08:27:48.710 回答