Вы не должны определить свой контроллер как службу для доступа к EntityManager. Упомянутый выше метод Controller::getDoctrine()
просто возвращает реестр доктрин, вызывая $this->container->get('doctrine')
после проверки того, что сервис доктрины действительно доступен.
Просто сделайте свой собственный класс / контроллер расширенным ContainerAware
и определите метод ярлыка, например:
public function getEntityManager() {
return $this->container->get('doctrine')->getEntityManager();
}
Обратите внимание, что $this->container->get(..)
, а не $this->get(..)
в классе, расширяющем / реализующем ContainerAware
.