Symfony6 Techwall #39 Utilisation des Traits avec le Lifecycle callback les événements de Doctrine

Votre vidéo commence dans 20
Passer (5)
Construire un business à 2000 € par mois avec une chaîne Youtube

Merci ! Partagez avec vos amis !

Vous avez aimé cette vidéo, merci de votre vote !

Ajoutées by admin
68 Vues
Symfony6 Techwall #39 Doctrine Utilisation des Traits avec le Lifecycle callback les événements de Doctrine

Appelé aussi les callbacks du cycle de vie, ce sont des méthodes à exécuter par doctrine et dépendant d’événement précis :
PrePersisit
PostPersist ( s’exécute après le flush() non après persist() )
PreUpdate
PostUpdate
PreRemove
PostRemove

Afin d’informer doctrine qu’une entité contient des
clallbacks nous devons utiliser l’annotation
@ORM\HasLifecycleCallbacks()
Ceci ne s’applique que lors de l’utilisation
des annotations

Imaginons maintenant que nous voulons « sécuriser plusieurs de nos entités » et d’avoir un peu d’historique. L’idée est d’avoir deux attributs qui sont createdAt et modifiedAt pour avoir toujours une idée sur la création de notre entité et de sa dernière modification.
L’idée est de créer pour chacune des entités à suivre des lifecycle callback qui vont mettre à jour ces deux attributs lors de la création (prePersisit) et la modification (preUpdate).
Est-ce normal de le refaire pour toutes les entités ?
Si la réponse est non, que faire alors ?
Utiliser les TRAITS

Elles Servent à externaliser du code redondant dans plusieurs classes différentes.
Pourquoi les traits et non l’héritage ? Parce que PHP ne supporte pas l’héritage multiple.
Non instanciable
Un trait peut contenir des méthodes et des attributs
Catégories
Evenements

Ajouter un commentaire

Commentaires

Soyez le premier à commenter cette vidéo.