3.8 Comportements
Le texte original de cette section a changé depuis qu'il a été traduit. Aidez-nous à corriger cette différence. Vous pouvez :
Les comportements (behaviors) de Modèle sont une manière d'organiser certaines des fonctionnalités définies dans les modèles CakePHP. Ils nous permettent de séparer la logique qui ne doit pas être directement reliée à un modèle, mais qui nécessite d'être là. En offrant une simple, mais puissante, manière d'étendre les modèles, les comportements nous permettent d'attacher des fonctionnalités aux modèles en définissant une simple variable de classe. C'est comme çà que les comportements permettent de débarrasser les modèles de tout le "sur-poids" qui ne devrait pas faire partie du contrat métier qu'ils modèlent ou de ce qui est aussi nécessité par différents modèles et qui peut alors être extrapolé.
Par exemple, considérez un modèle qui nous donne accès à une table qui stocke des informations sur la structure d'un arbre hiérarchique. Supprimer, ajouter ou déplacer les nœuds dans l'arbre n'est pas aussi simple que d'effacer, d'insérer ou d'éditer les lignes d'une table. De nombreux enregistrements peuvent nécessiter une mise à jour suite au déplacement des éléments. Plutôt que de créer ces méthodes de manipulation d'arbre une fois par modèle de base (pour chaque modèle nécessitant cette fonctionnalité), nous pourrions simplement dire à notre modèle d'utiliser le Comportement Tree (TreeBehavior) ou, en des termes plus formels, nous dirions à notre modèle de se comporter comme un Arbre. On appelle cela attacher un comportement à un modèle. Avec une seule ligne de code, notre modèle CakePHP disposera d'un nouvel ensemble complet de méthodes lui permettant d'interagir avec la structure sous-jacente.
CakePHP contient déjà des comportements pour les structures en arbre, les contenus traduits, les interactions par liste de contrôle d'accès, sans oublier les comportements des contributeurs de la communauté déjà disponibles dans la Boulangerie (Bakery) CakePHP (http://bakery.cakephp.org). Dans cette section nous couvrirons le schéma d'usage classique pour ajouter des comportements aux modèles, l'utilisation des comportements intégrés à CakePHP et la manière de créer nos propres comportements.


























