https://gist.github.com/vudaltsov/22c9498e891669d36bbbd366cc3705ef
Некоторые пояснения:
- благодаря пустому конструктору при создании подкласса PhpStorm не дублирует необязательные и ненужные аргументы оригинального конструктора
Symfony\Component\Console\Command\Command;-
abstract public static function name() форсирует статическое имя, речь о котором шла в статье постом выше;- в
getDefaultName добавлен префикс, чтобы исключить коллизии с вендорными командами;- методы
doExecute и doInteract сразу получают удобный хэлпер SymfonyStyle, о котором я когда-то тут рассказывал;- зафиксированы все корректные типы, в частности, execute(): int.
Опробовано в продакшне 😂, пользуйтесь.