CLI Управление командами
Для работы с CLI на текущий момент используется symfony/console, вы можете использовать документацию для этого компонента
!!!Предупреждение!!!
На текущий момент для работы с cli командами используется symfony/console это практически стандарт де факто.
Мне не нравится эта реализация по следующим причинам:
- Внутри команд каждый раз работа с reflection
- Есть большое количество способов сделать одно и тоже разными путями для поддержки обратной совместимости (legacy).
Возможно в будущем реализация изменится и это потребует вам актуализировать, но пока we have what we have.
Добавление вашей команды
- Создайте класс расширяющий
\Symfony\Component\Console\Command\Command - Реализуйте метод
protected function execute(InputInterface $input, OutputInterface $output): int - Используйте php attribute
\Symfony\Component\Console\Attribute\AsCommandчтобы указать имя команды. - Обновите конфигурацию
make build # или make restart - Ваша команда доступна внутри app
make shell ./app.php
В SKELETON идет пример команды
Используйте оффицальную документацию по symfony/console component