Persistenz · Frage 6 von 12

Welchen Typ verwendet man in einem Extbase-Model für eine Property, die mehrere verknüpfte Objekte enthält, z. B. alle Speaker einer Konferenz?

1 Antwort ist richtig. Einfach

Lösung anzeigen

Lösung

  • A \TYPO3\CMS\Extbase\Persistence\ObjectStorage

Erklärung

Für 1:n- und m:n-Relationen nutzt Extbase die Klasse ObjectStorage, z. B. protected ObjectStorage $speakers; mit der Annotation @var ObjectStorage<Speaker> für IDE und statische Analyse. Einträge fügt man über Methoden wie addSpeaker() hinzu, die intern attach() aufrufen, und entfernt sie mit detach(). Im Template durchläuft man die Relation mit <f:for each="{conference.speakers}" as="speaker">. Die ObjectStorage muss initialisiert werden, bevor man darauf zugreift, sonst gibt es einen Fehler. PHPs SplObjectStorage sieht ähnlich aus, Extbase kann damit aber keine Relationen laden oder Änderungen daran speichern.

Zertifikate & Prüfungen

Welche Prüfung kommt als Nächstes?

19 Prüfungen kannst du schon üben, über 21 stimmst du gerade ab. Sieh dir alle Zertifikate mit offiziellen Infos an, gib deine Stimme ab oder schlag deine Prüfung vor.

Zur Zertifikatsübersicht