Attacher et détacher des comportements (behaviour) à la volée (423 lectures)
200804/06
Comment attacher et détacher des comportements (behaviors) à la volée avec CakePHP (1.2) ?Les comportements ou behaviors
Les comportements, nommés behaviors dans Cake, sont des classes encapsulant un traitement logique lié aux modèles.
Un comportement est défini avec la variable $actAs dans le modèle.
Prenons un exemple simple d'un formulaire qui doit avant de sauvegarder les données en base de données uploader une image sur le serveur.
- // app/models/photo.php
- class Photo extends AppModel {
- }
Avant de sauvarger les données, la class UploadBehavior sera appelée.
Attacher et détacher des comportements
Si on veut maintenant éditer notre page qui contient déjà une image, le comportement Upload défini dans l'exemple précédent sera toujours appelé.
Il est donc nécessaire de pouvoir désactiver ce comportement si on ne souhaite pas réuploader d'image à l'édition d'un post par exemple.
C'est ce que propose une nouvelle fonctionnalité de CakePHP (v1.2) très simplement, où il suffit dans le controlleur d'écrire :
- $this->Photo->detach('Upload');
Pour le réactiver à nouveau :
- $this->Photo->attach('Upload');
Voir les changements de model.php sur le changeset de CakePHP.
Dernière modification : 08/09/2008
Catégorie : Framework - CakePHP -
A découvrir également :
Commentaires
Les commentaires sont désactivés.

