[TYPO3-german] Eine Extbase-Verständnisfrage zu initStorageObjects()

Robert Wildling rowild at gmx.net
Fri Aug 2 10:27:51 CEST 2013


Hi, lieber Extbase'ler,

Ich habe im Zuge meiner Extension-Bastelübungen folgendes beobachtet:

Das Model/die Domäne (wie sagt man es richtig, wenn man nicht Tabelle 
sagen soll/darf?) "Concerts" greift an mehreren Stellen auf die Domäne 
"Compositions" zu, und zwar einmal als "Uraufführungen bei diesem 
Konzert", ein anderes mal "Weitere Werke bei diesem Konzert" und ein 
drittes mal bei "Verwandte Werke".

Im Model "Konzert" werden diese 3 Attribute auch wie folgt definiert:

/**
* Compositions UA
* @var 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Rowild\Kofomi\Domain\Model\Compositions>
*/
protected $compositionsUa;

/**
* Compositions regular
* @var 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Rowild\Kofomi\Domain\Model\Compositions>
*/
protected $compositionsRegular;

/**
* Compositions related
* @var 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage<\Rowild\Kofomi\Domain\Model\Compositions>
*/
protected $compositionsRelated;


Und in initiObjectStorage() werden alle drei Repositories auch 
initialisiert:
$this->compositionsUa = new \TYPO3\CMS\Extbase\Persistence\ObjectStorage();
$this->compositionsRegular = new 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage();
$this->compositionsRelated = new 
\TYPO3\CMS\Extbase\Persistence\ObjectStorage();


Aber genau dieser letzte Schritt scheint in dem Ausmaß gar nicht 
notwendig zu sein, denn wenn ich die letzten 2 Initialisierungen 
weglasse, funktioniert trotzdem alles.

Daher meine Frage: Wenn ein ObjectStorage mehrmals verwendet wird, 
reicht es dann, es nur einmal zu initialisieren? Oder ist das "bad 
practice"? Oder dürfte das gar nicht sein? Gibt es daduch 
Performance-Einbußen oder andere Folgeerscheinungen?


Weiß ehrlich gesagt nicht, wie ich dazu suchen soll, bisher bin ich 
erfolglos. Und im TYPO3 Extbase Extension-Buch steht dazu auch nichts. 
Wäre daher über eure Kommentare oder weiterführende Links sehr froh! 
Danke im Voraus!

Grüße, Robert


More information about the TYPO3-german mailing list