Frage

Es gibt einige Artikel, die dieses Thema berühren, aber keiner von ihnen schien für mich eine praktische nutzbare Lösung zu sein. Mein Ziel ist es, einige grundlegende Methoden (die ich sowieso in jedem Controller brauche) in einen Basicontroller zu bringen, z. B.

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

Wie kann das getan werden?

AFAIK Wir müssen die Dienste in den Basecontroller einbringen, aber wie sage ich den Unterricht, einen Dienst für ihre Superklasse zu nutzen? Es gibt einen anständigen Artikel über Controller und Abhängigkeitsinjektion [1], aber schließlich bin ich auch mit diesem Ansatz festgefahren. Siehe meinen Kommentar hier: [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

War es hilfreich?

Lösung

Pseudocode

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

  getEntityManager
    return $this->container->get('doctrine.orm.entity_manager')
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top