Как реализовать базовое количество контроллеров Symfony2
-
22-10-2019 - |
Вопрос
Есть некоторые статьи, вокруг которых касается этой темы, но ни один из них не казался практическим полезным решением для меня. Моя цель - поместить некоторые основные методы (те, которые мне нужны в каждом контроллере) в базовый контроллер, например,
$this->getEntityManager();
$this->getRequest();
$this->getRepository($entityName);
Как это может быть сделано?
AFAIK, мы должны вводить услуги в базовый концертлер, но как мне сказать, что классы пользуются услугой для их суперкласса? Есть несколько приличных статьи о контроллерах и инъекции зависимости [1], но, наконец, я тоже застрял с этим подходом, см. Мой комментарий здесь: [2
[1] http://miller.limething.co.uk/2011/04/15/symfony2-controller-sservice/
[2] http://miller.limething.co.uk/2011/04/15/symfony2-controller-sservice/#comment-579
Решение
псевдокод
MyBaseController impliments Symfony\Component\Di\ContainerAwareInterface
setContainer($container)
$this->container = $container
getEntityManager
return $this->container->get('doctrine.orm.entity_manager')