Size: a a a

2021 August 14

ЕП

Евгений Поляков... in symfony
не у меня не так
у меня же консольное приложение
источник

Ш

Шурик in symfony
с использованием симфони? или просто консольное без ничего?
источник

Ш

Шурик in symfony
если с симфони, то без разницы
источник

ЕП

Евгений Поляков... in symfony
Symfony\Component\Console\Command\Command
источник

Ш

Шурик in symfony
ок, зайдём издалека
приложение, которое консольное, - оно на симфони?
источник

ЕП

Евгений Поляков... in symfony
да
источник

ЕП

Евгений Поляков... in symfony
это просто прилага которая обращается к внешней апи и пишет данные в бд
источник

ЕП

Евгений Поляков... in symfony
для каждой апишки я сделал отдельынй контроллер и беру в каждом из них настройки из services.yaml
источник

Ш

Шурик in symfony
в общем, у тебя есть какая-то аппликуха, которая норм работает, принимает в контроллер какие-то параметры и что-то делает

и ты хотел бы вызвать работающий контроллер с параметрами, но передать их не по хттп, а из консоли

правильно?
источник

ЕП

Евгений Поляков... in symfony
можно конечно попробоват сделать общий главный контроллер и в нем вызывать сервисы
источник

Ш

Шурик in symfony
но основную суть я сформулировал правильно?
источник

Ш

Шурик in symfony
вот тут
источник

ЕП

Евгений Поляков... in symfony
да
источник

Ш

Шурик in symfony
очень жаль, но это делается не так
источник

ЕП

Евгений Поляков... in symfony
ну вроде все по оф доке
источник

Ш

Шурик in symfony
оф дока написана не для того, чтоб всё строить по ней, а для того, чтоб ты, не врубаясь как всё работает, смог завести, а дальше уже делал как тебе нужно, а не как написано умными дядями, которые не шарят в твоём проекте
источник

ЕП

Евгений Поляков... in symfony
я ток изучаю симфу
кроме оф доки особо нечаго подчерпнуть
источник

Ш

Шурик in symfony
по хорошему - твой контроллер принимает какие-то параметры, преобразовывает их из хттп запроса в какой-то объект SomeMagicObject и передаёт этот объект сервису, который понимает что с ними делать
это в случае с контроллером

в случае с командой - команда принимает какие-то параметры из консоли, преобразовывает их в тот же объект SomeMagicObject и отдаёт тому же сервису

Если само действие никак не зависит от того, выполняется оно из консоли или из бразуреа, то получается, что у тебя что из хттп, что из консоли - выполняются одни и те же действия, которые требуют одних и тех же параметров. Просто контроллер превращает их в понятный сервису формат из хттп, а команда - из консольного инпута
источник

ЕП

Евгений Поляков... in symfony
я удмал на эту тему
но пока побыстрому накидал для всего отдельные контроллеры
тк мне пока нужно обкатать всю логику
источник

Ш

Шурик in symfony
и в контроллере у тебя может быть написано
public function someAction(Request $r)
{
   $input = $this->serializer->deserialize($r->getBody(), SomeMagicClass::class);
   
   $this->service->doSmthng($input);
}


а в команде

public function execute(Input $i, Output $o)
{
   $this->service->doSmthng(new SomeMagicClass($i->arg1, $i->arg2, $i->arg3));
}
источник