2014-12-16 3 views
-2

Я мотивирован на этот вопрос Symfony, но, очевидно, это охватывает весь сектор Software Engineering, поэтому он является агностическим.Контролер или менеджер как услуга?

У меня возникло соблазн создать Контроллер в качестве службы, чтобы сделать его доступным на другом контроллере, но может быть лучшей практикой создания службы на основе менеджера объекта?

+0

Symfony 2 поддерживает понятие подзапроса, которое упрощает встраивание контроллера внутри другого контроллера, независимо от того, определяется ли контроллер как услуга. Ваш вопрос не очень ясен. Скорее всего, вам захочется поделиться менеджером, а не контроллером. – Cerad

ответ

0

Почему бы вам не создать сервис напрямую? Я не понимаю, как использовать контроллер в качестве службы, если ваш контроллер как роль службы? Это не имеет смысла для меня, но, возможно, я неправильно понял ваш вопрос.

У вас есть различные решения:

  • Прежде всего, вы должны понять, что ваш менеджер объект может быть использован в качестве службы везде в вашем приложении. Вы можете использовать его как в контроллере (например): $ em = $ this-> container-> get ('doctrine.orm.entity_manager');

  • Если вы хотите, чтобы перенаправить запрос от контроллера к другому, вы можете использовать прямой метод: http://symfony.com/doc/current/book/controller.html#forwarding-to-another-controller

Вот ссылка, которая может возможно помочь вам: http://ahoj.io/symfony2-and-dependency-injection

Смежные вопросы