Extbase - Dependency Injection: Unterschied zwischen den Versionen
Aus Wikizone
(Die Seite wurde neu angelegt: „Dependency Injection benötigst du, wenn du aus deiner Extension heraus auf die Daten anderer Extensions zugreifen willst. Außerdem ist es nützlich, wenn d…“) |
|||
| Zeile 26: | Zeile 26: | ||
==== Dependency Injection TYPO3 vor 4.7 ==== | ==== Dependency Injection TYPO3 vor 4.7 ==== | ||
| + | Inject Funktion... | ||
<syntaxhighlight lang="php"> | <syntaxhighlight lang="php"> | ||
/** | /** | ||
Version vom 25. Juni 2015, 15:42 Uhr
Dependency Injection benötigst du, wenn du aus deiner Extension heraus auf die Daten anderer Extensions zugreifen willst.
Außerdem ist es nützlich, wenn du in einer Extension mit verknüpften Tabellen alle Daten einer verknüpften Tabelle ohne das Hauptobjekt zugreifen willst.
So gehts:
Dependency Injection Beispiel
In deinem Controller füge folgendes hinzu um das Repository SomeRepository nutzen willst.
Dependency Injection 'TYPO3 ab 6.0
/**
* @var \Vendor\Extension\Domain\Repository\SomeRepository
* @inject
*/
protected $someRepository;
Dependency Injection TYPO3 = 4.7
/**
* @var Tx_MyExtension_Domain_Repository_SomeRepository
* @inject
*/
protected $someRepository;
Dependency Injection TYPO3 vor 4.7
Inject Funktion...
/**
* @var Tx_MyExtension_Domain_Repository_SomeRepository
*/
protected $someRepository;
/**
* Inject SomeRepository
* @param Tx_MyExtension_Domain_Repository_SomeRepository $someRepository
* @return void
*/
public function injectSomeRepository(Tx_MyExtension_Domain_Repository_SomeRepository $someRepository) {
$this->someRepository = $someRepository;
}
Jetzt kann man $this->someRepository mit all seinen Methoden auch in diesem Controller nutzen.
Hinweis: Nach Änderung System Cache löschen !