[TYPO3-german] Welche Methode um Instanz zu bekommen?

Stefan Padberg post at bergische-webschmiede.de
Fri Oct 6 10:09:52 CEST 2017


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
:: post at bergische-webschmiede.de
:: http://www.bergische-webschmiede.de


More information about the TYPO3-german mailing list