rekursive Dependency Injection [Gelöst]

  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    30. 01. 2012, 14:57

    Moin,

    dass DI bis 4.5 nur in Controllern funktioniert hatten wir mal in irgendeinem Beitrag. Also dachte ich mir, ich setze den in einem Repo zu verwendende Repository einfach in der inject-Methode im Controller

    1. /**
    2.  * @param Tx_MyExt_Domain_Repository_VisitorRepository $visitorRepository
    3.  */
    4. public function injectVisitorRepository(Tx_MyExt_Domain_Repository_VisitorRepository $visitorRepository) {
    5. $this->visitorRepository = $visitorRepository;
    6. $this->visitorRepository->injectUserAgentRepository($this->userAgentRepository);
    7. }

    Das VisitorRepository hat natürlich eine entsprechende Methode bekommen und der Controller hat auch eine injectUserAgentRepository. Trotzdem kommt der Fehler
    1. PHP Catchable Fatal Error: Argument 1 passed to Tx_MyExt_Domain_Repository_VisitorRepository::injectUserAgentRepository() must be an instance of Tx_MyExt_Domain_Repository_UserAgentRepository, null given

    Funktioniert mein Ansatz des rekursiven DIs etwa nicht?


  • 1
  • BFSven BFSven
    R2-D2
    0 x
    106 Beiträge
    2 Hilfreiche Beiträge
    31. 01. 2012, 08:45

    Funktionier doch, man muss die properties nur in der richtigen Reihenfolge definieren (ist wirklich so, habs getestet)

  • 1