6

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

   $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

4

1 回答 1

3

伪代码

MyBaseController impliments Symfony\Component\Di\ContainerAwareInterface
  setContainer($container)
    $this->container = $container

  getEntityManager
    return $this->container->get('doctrine.orm.entity_manager')
于 2011-04-27T08:27:10.457 回答