Я новичок в Symfony. Как бы то ни было, я нашел способ создать консольную команду. Таким образом, эта команда должна быть доступна из внешнего интерфейса.
Так что, по моему мнению, мне нужно поставить команду в сервис. Я следил за этим ссылка на сайт. Так что это должно быть создано. Но теперь я не знаю, как подключить эту услугу к фактическому вызову маршрута. Я сформировал такой маршрут:
command:
path: /command
defaults:
_controller: AppBundle:Command:activate
requirements:
language: '%pimc.akeneo_cms.frontend.language.available%'
И я создал новый контроллер под названием CommandController всего с одним методом, который называется activateAction (). И я не знаю, что поставить в actiavateAction?
Кто-нибудь может мне помочь? Я на правильном пути?






Если вы хотите запустить команду в действии вашего контроллера, вы можете использовать Application:
$application = new Application($this->get('kernel'));
$input = new ArrayInput(array('command' => 'your:command'));
$output = new BufferedOutput();
$application->run($input, $output);
И если вы хотите проверить вывод команды, вы можете использовать $output->fetch().
Спасибо, что нашли время ответить мне.
Вы можете выполнить следующие действия:
Что ж, не работает. Но это происходит из-за моей команды, для выполнения которой требуется около 30 минут. Но с вашей логической точки зрения все работает отлично.
Это странный способ сделать это. Ваша командная машина вызывает службу через внедрение зависимостей, ту же службу, которую вызывает действие вашего контроллера.