Hallo David,

Empfohlen wird:

$this->objectManager->get(\Vendor\Extkey\Domain\Repository\YourRepository::class)

wenn du ein Objekt im Controller aufrufen willst. new() sollte man
tunlichst vermeiden. Der ObjectManager liefert dir entweder eine bereits
bestehende Instanz (sofern diese ein Singleton ist). Oder er erstellt
eine neue, wobei sämtliche Abhängigkeiten berücksichtigt werden und die
Dependency Injection nicht umgangen gesetzt wird. Letzteres passiert
nämlich, wenn du mit der makeInstance-Methode arbeitest.

So weit die Theorie.

Beste Grüße
Stefan



Am 06.10.2017 um 09:44 schrieb David Brünner:
> Hallo,
> 
> es gibt ja (zumindest in einigen Fällen) mehrere Methoden um an eine
> Instanz zu kommen, z.B.:
> 
> - new Whatever()
> - $this->objectManager->get("NS\\Whatever")
> - \TYPO3\CMS\Core\Resource\ResourceFactory::getInstance()
> 
> mal abgesehen davon dass die letzte Methode wohl ein Singleton ist und
> das somit - in diesem Fall die einzigste Möglichkeit ist - bleiben immer
> noch 2 Möglichkeiten.
> 
> Welche davon ist zu bevorzugen?
> Warum?


-- 
Bergische Webschmiede
Dipl.-Ing. Stefan Padberg
TYPO3-Integrator und Webprogrammierer
:: Borner Str. 18 - 42349 Wuppertal
:: +49 202 97648355
:: +49 173 9219845
:: p...@bergische-webschmiede.de
:: http://www.bergische-webschmiede.de
_______________________________________________
TYPO3-german mailing list
TYPO3-german@lists.typo3.org
http://lists.typo3.org/cgi-bin/mailman/listinfo/typo3-german

Antwort per Email an