TYPO3-Testaccount
Testen Sie die aktuellste TYPO3-Version kostenlos und unverbindlich für einen Monat!

Jetzt testen!

Schulungen

rekursive Dependency Injection


Autor Nachricht
Verfasst am: 30. 01. 2012 [14:57]
BFSven
Themenersteller
Dabei seit: 19.10.2011
Beiträge: 106
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
PHP
/**
 * @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
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?
Profil
Verfasst am: 31. 01. 2012 [08:45]
BFSven
Themenersteller
Dabei seit: 19.10.2011
Beiträge: 106
Funktionier doch, man muss die properties nur in der richtigen Reihenfolge definieren (ist wirklich so, habs getestet)
Profil