Контроллер как сервис в Symfony 3.4

126
30 июля 2019, 18:20

Доброго времени суток всем, возникла проблема с определением и настройкой контроллера как сервиса, суть проблемы - пишу бандл для подключения в другие проекты, есть в нем ApiController, объявлен как сервис, вот конфиг:

    test_apifile.controller.api:
    class: '%test_apifile.controller.api.class%'
    arguments:
      - '@event_dispatcher'
      - '@test_apifile.parameters.generator'
    public: true

Теперь из проекта, в который подключен этот бандл пытаюсь достучаться до контроллера следующим образом:

app_api_list:
   path: /api/v1/list_test
   defaults: { _controller: test_apifile.controller.api::indexAction }

И вот на данном этапе возникает проблема - ControllerResolver тупо не находит класс по id сервиса, а прописывать роут через референс нельзя, потому как в таком случае не будут инжектиться сервисы, необходимые для работы контроллера. Может кто сталкивался и подскажет как разрулить подобную ситуацию?

Answer 1

Сервис:

default_controller:
    class: AppBundle\Controller\DefaultController
    public: true

Роутинг

default:
    path: /
    methods: [GET]
    controller: AppBundle\Controller\DefaultController::indexAction
Answer 2
app_api_list:
   path: /api/v1/list_test
   defaults: { _controller: test_apifile.controller.api::indexAction }

в test_apifile.controller.api::indexAction меняем на test_apifile.controller.api:indexAction и проблема решена

READ ALSO
Постепенный вывод данных

Постепенный вывод данных

Имеется ajax скрипт и php скрипт

129
Прямая авторизация в вк

Прямая авторизация в вк

Осуществляю прямую авторизация в вк,clientId и clientSecret получил из вк приложения,путем декомпилированияЗапрос вот такой json_decode(file_get_contents("https://oauth

117
Что означают цвета в composer?

Что означают цвета в composer?

Есть небольшая выдержка с англоязычного сайта:

81
Правильная работа else в forech

Правильная работа else в forech

При указании условия esle в цикле выводится не 1 значение переменной, а зацикленное значениеМассив вида:

92