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
/** * @param Tx_MyExt_Domain_Repository_VisitorRepository $visitorRepository */ public function injectVisitorRepository(Tx_MyExt_Domain_Repository_VisitorRepository $visitorRepository) { $this->visitorRepository = $visitorRepository; $this->visitorRepository->injectUserAgentRepository($this->userAgentRepository); }
Das VisitorRepository hat natürlich eine entsprechende Methode bekommen und der Controller hat auch eine injectUserAgentRepository. Trotzdem kommt der Fehler
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?