Persistance · Question 7 sur 12

Quelle méthode Extbase appelle-t-il après le chargement d'un objet modèle depuis la base de données, afin que l'on puisse par exemple y initialiser les propriétés ObjectStorage ?

1 réponse est correcte. Facile

Afficher la solution

Solution

  • A initializeObject()

Explication

Lors du chargement depuis la base de données, Extbase n'appelle pas le constructeur : le DataMapper crée l'objet avec la bibliothèque doctrine/instantiator et définit directement les valeurs. Il appelle ensuite initializeObject(). La recommandation est donc : placer les initialisations comme $this->speakers = new ObjectStorage(); dans initializeObject() et appeler aussi cette méthode depuis le constructeur – ainsi la propriété est définie aussi bien pour new Conference() que pour les objets chargés. Se fier uniquement au constructeur est le piège typique. initializeAction() appartient au contrôleur et s'exécute avant chaque action, pas lors du chargement d'un modèle.

Certifications & examens

Quel examen pour la suite ?

Tu peux déjà t’entraîner pour 19 examens, 21 sont soumis au vote. Découvre toutes les certifications avec les infos officielles, vote ou propose ton examen.

Voir toutes les certifications