Les comportements (behaviors)
Les comportements (behaviors) permettent de réutiliser de la logique au sein de la couche Modèle.
Les quatre comportements disponibles à l’installation de CakePHP sont :
-
CounterCache
-
Timestamp
-
Translate
-
Tree
1. Utiliser un comportement
Pour ajouter un comportement, il suffit d’utiliser la méthode addBehavior() au sein de la fonction initialize() de la classe Table souhaitée.
Syntaxe :
addBehavior( string $name , array $options [] )
Exemple :
namespace App\Model\Table;
use Cake\ORM\Table;
class ArticlesTable extends Table
{
public function initialize(array $config)
{
$this->addBehavior('Timestamp');
}
}
2. CounterCache
a. Utilisation basique
Il est souvent nécessaire de compter des données dans les applications web. Par exemple, un blog souhaitera afficher le nombre de commentaires d’un article.
Le comportement CounterCache permet de sauvegarder des compteurs afin d’éviter de parcourir systématiquement les données associées.
Pour fonctionner, chaque compteur doit avoir un champ de type « entier » dans la table associée. Par exemple, la table articles aura un champ nb_commentaire afin de sauvegarder le nombre de commentaires par article.
Ce compteur sera mis à jour à chaque fois qu’une entité sera ajoutée...