Как я могу заставить 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