Как реализовать базовое количество контроллеров Symfony2

StackOverflow https://stackoverflow.com/questions/5801075

  •  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')
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top