如何让php-cs-fixer适用于Symfony项目?

时间:2017-07-22 07:43:25

标签: php symfony php-cs-fixer

我通过运行

全局安装了php-cs-fixer
$ wget http://cs.sensiolabs.org/download/php-cs-fixer-v2.phar -O php-cs-fixer

然后运行

$ sudo chmod a+x php-cs-fixer
$ sudo mv php-cs-fixer /usr/local/bin/php-cs-fixer

当我尝试使用

运行php-cs-fixer
$ php-cs-fixer -vv fix /home/xxx/host/master/src/AppBundle/Command/GenerateERPContractInvoicesCommand.php --config=sf2

这导致以下错误消息:

  

[PhpCsFixer \ ConfigurationException \ InvalidConfigurationException(16)]
      无法读取配置文件“sf2”

尝试使用--config=sf23运行会导致出现相同的错误消息。

尝试像这样运行

$ php-cs-fixer fix src/AppBundle/Command/GenerateERPContractInvoicesCommand.php --level=symfony 

导致错误消息

  

“ - level”选项不存在。

然后我使用内容

创建配置文件.php_cs
<?php

$finder = Symfony\CS\Finder::create()
    ->exclude([
        'app', 
        'spec', 
        'build', 
        'bin', 
        'web', 
        'vendor',
    ])
    ->in(__DIR__);

return Symfony\CS\Config::create()
    ->fixers([
        'short_array_syntax', 
        '-phpdoc_align',
        'ordered_use',
    ])
    ->finder($finder);

并收到以下错误消息:

  

[PhpCsFixer \的ConfigurationException \ InvalidConfigurationException]
       配置文件:“/ home / iiv / host / master / .php_cs”不返回“PhpCsFixer \ ConfigInterface”实例。得到:“整数”。

如何使用php-cs-fixer进行Symfony,你能帮忙吗?

我在哪里可以获得Symfony的配置,以及如何正确使用php-cs-fixer进行Symfony项目?

3 个答案:

答案 0 :(得分:2)

根据文档,您可能希望使用df A B 1. 21 2011 2. 21 2012 3. 21 2011 4. 22 2013 5. 22 2011 6. 23 2012 7. 23 2011 8. 23 2012 9. 23 2014 df1 2011 2012 2013 2014 1. 21 2 1 0 0 2. 22 1 0 1 0 3. 23 1 2 0 1 参数运行:

Class1.Method1(); //here should not be any assertion error
Class2 cs2 = new Class2();
cs2.Method2();

答案 1 :(得分:2)

问题在于您正在完成所有工作(cli params,配置文件),就像PHP CS Fixer v1一样,但您正在下载v2。 如果您想知道如何迁移,请查看升级指南: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/UPGRADE.md

答案 2 :(得分:1)

我在ci dev build

中使用以下commind
php-cs-fixer fix --using-cache=no --rules=@Symfony src