有些文章围绕着这个话题,但它们似乎对我来说是一个可用的解决方案。我的目标是将一些基本方法(无论如何我都需要在每个控制器中需要的方法)放入基础控制器,例如

   $this->getEntityManager();
   $this->getRequest();
   $this->getRepository($entityName);

如何才能做到这一点?

AFAIK我们必须将服务注入基础控制器,但是我如何告诉课程为其超类使用服务呢?关于控制器和依赖注入[1]有一些体面的文章,但最后我也坚持这种方法,请参阅我的评论:[2

[1] http://miller.limethinking.co.uk/2011/04/15/symfony2-controller-as-service/

[2] http://miller.limethinking.co.uk/2011/04/15/symfony2-controller-as-service/#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