Question

Il y a quelques articles qui touchent autour de ce sujet, mais aucun d'entre eux semblait être une solution utilisable pratique pour moi. Mon objectif est de mettre quelques méthodes de base (ceux que je besoin dans chaque contrôleur de toute façon) dans un BaseController, par exemple.

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

Comment cela peut-il être fait?

AFAIK nous devons injecter les services dans le BaseController, mais comment puis-je dire des cours d'utiliser un service pour leur superclasse? Il y a un certain article décent sur les contrôleurs et injection de dépendances [1], mais finalement je me suis coincé avec cette approche trop, voir mon commentaire ici: [2]

[1] http://miller.limethinking.co.uk / 2011/04/15 / Symfony2-contrôleur en service /

[2] http: //miller.limethinking .co.uk / 2011/04/15 / Symfony2-contrôleur en service / #-579 commentaires

Était-ce utile?

La solution

pseudocode

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

  getEntityManager
    return $this->container->get('doctrine.orm.entity_manager')
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top