Utiliser les événements du framework
-
Les événements du framework sont tous associés à une annotation de classe. Utilisez l’annotation correspondant à l’événement pour lequel vous voulez déclencher l’appel à une de vos fonctions, et cette dernière sera systématiquement appelée lorsque l’événement a lieu.
Annotations d’événements du framework
Lors de la construction d’objets
- @after_build_array : défini une méthode à exécuter juste après la construction d’un objet à partir de sa représentation sous forme de tableau
- @before_build_array : défini une méthode à exécuter juste avant la transformation d’un tableau de formulaire en objet
À la lecture
- @after_read : défini une méthode à exécuter juste après la lecture d’un objet
- @on_list : indique une méthode à exécuter lors de l’appel à Dao::select()
À l’écriture
Écriture d’objets
- @after_commit : défini une méthode à exécuter juste après l’enregistrement d’un objet
- @after_create : défini une méthode à exécuter juste après l’écriture d’un nouvel objet
- @after_update : défini une méthode à exécuter juste après la mise à jour d’un objet dans le lien de données
- @after_write : défini une méthode à exécuter juste après l’écriture d’un objet
- @before_create : défini une méthode à exécuter juste avant l’écriture d’un nouvel objet
- @before_update : défini une méthode à exécuter juste avant la mise à jour d’un objet dans le lien de données
- @before_write : défini une méthode à exécuter juste avant l’écriture d’un objet
- @before_writes : défini une méthode à exécuter juste avant l’écriture d’objets par le contrôleur d’écriture
Ajout/suppression de sous-objets
- @after_add_element : indique la méthode à appeler après qu’un nouvel élément de Collection / Map soit enregistré
- @before_add_element : indique la méthode à appeler avant qu’un nouvel élément de Collection / Map soit enregistré
- @before_remove_element : indique la méthode à appeler avant qu’un élément de Collection / Map soit supprimé
À la transformation
- @after_transform : alias pour @after_transform_to, déprécié
- @after_transform_from : défini une méthode à exécuter juste après la transformation depuis un objet
- @after_transform_to : défini une méthode à exécuter juste après la création par transformation d’un objet
À la suppression
- @after_delete : défini une méthode à exécuter juste après la suppression d’un objet d’un lien de données
- @before_delete : défini une méthode à exécuter juste avant la suppression d’un objet d’un lien de données
Lors de l’installation / la désinstallation d’une fonctionnalité
- @feature_install : défini une méthode à appeler lors de l’installation de la fonctionnalité
- @feature_uninstall : défini une méthode à appeler lors de la désinstallation de la fonctionnalité
Annotations pouvant s’apparenter à des événements
Ces annotations déclenchent également l’appel d’une méthode, plus particulièrement en vue de réaliser des contrôles et n’autoriser la poursuite de l’exécution du traitement qu’à certaines conditions. Les annotations
@before
vues plus haut permettent également d’interrompre des traitements, mais peuvent être également utilisées à d’autres fins, alors que les annotations ci-dessous servent spécifiquement à décider si on continue le traitement standard ou non :- @data_access_control : défini une méthode à appeler pour vérifier si le contrôle d’accès aux données autorise l’accès à l’objet
- @filter : défini une méthode de filtrage pour la classe
- @user_change : indique une méthode à exécuter lorsque la valeur de propriété est modifiée par un utilisateur
- @validate : indique une méthode appelée pour valider la valeur de la propriété (nécessite l’activation du plugin Validate)