В продолжение разговора о консольном приложении, предлагаю вот такой базовый класс команды для вашего проекта.



https://gist.github.com/vudaltsov/22c9498e891669d36bbbd366cc3705ef



Некоторые пояснения:

- благодаря пустому конструктору при создании подкласса PhpStorm не дублирует необязательные и ненужные аргументы оригинального конструктора Symfony\Component\Console\Command\Command;

- abstract public static function name() форсирует статическое имя, речь о котором шла в статье постом выше;

- в getDefaultName добавлен префикс, чтобы исключить коллизии с вендорными командами;

- методы doExecute и doInteract сразу получают удобный хэлпер SymfonyStyle, о котором я когда-то тут рассказывал;

- зафиксированы все корректные типы, в частности, execute(): int.



Опробовано в продакшне 😂, пользуйтесь.