Как я могу заставить php-cs-fixer работать для проекта Symfony?

Я установил 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 \ Исключение настройки \InvalidConfigurationException]
Файл конфигурации: "/home/ivan/host/master/.php_cs" не возвращает экземпляр "PhpCsFixer\ConfigInterface". Получил: "целое число".

Как я использую php-cs-fixer для Symfony, вы можете помочь?

Где взять конфигурацию для Symfony и как правильно использовать php-cs-fixer для проекта Symfony?

3 ответа

Я использую следующий commind в наших сборках ci dev

php-cs-fixer fix --using-cache=no --rules=@Symfony src

Согласно документации, вы можете запустить с rules аргумент:

php php-cs-fixer.phar fix /path/to/project --rules=@Symfony

Проблема в том, что вы выполняете всю свою работу (Cli Params, файл конфигурации), как для PHP CS Fixer v1, но вы загружаете v2. Если вы хотите узнать, как выполнить миграцию, ознакомьтесь с руководством по обновлению: https://github.com/FriendsOfPHP/PHP-CS-Fixer/blob/master/UPGRADE.md

Другие вопросы по тегам