Хочу рассказать историю о том что нужно всегда продолжать учиться. Сегодня хотел предложить MR в MakerBundle для Symfony суть была проста научить его добавлять декларацию проверки типов
declare(strict_types=1);Начала было делать, но наткнулся на довольно интерессный код, на который раньше почему то не обращал внимания.

Живет эта прелесть в Symfony\Bundle\MakerBundle\Command\MakerCommand. А дальше было интересснее, я пошел перечитывать документацию, где на самом видном месте понятным языком написано, что мейкер адаптируется под стандарты указанные в php-cs-fixer по берутся настройки поставляемые с пакетом, но их можно переопределить с помощью переменных MAKER_PHP_CS_FIXER_BINARY_PATH и MAKER_PHP_CS_FIXER_CONFIG_PATH. То есть уже все есть все готово и все работает, просто надо уметь пользоваться.
И так простое до безобразия решение:
MAKER_PHP_CS_FIXER_CONFIG_PATH: /app/.php-cs-fixer.dist.phpreturn (new PhpCsFixer\Config())
->setRules([
'@Symfony' => true,
'declare_strict_types' => true,
])
->setRiskyAllowed(true)
->setFinder(
(new PhpCsFixer\Finder())
->in(__DIR__)
->exclude('var')
->exclude('vendor')
);Строчка номер 6 нужна тк declare_strict_types добавляет декларцию которая меняет поведение кода.