Salut, J'ai regardé le tuto sur les taxonomy, il vraiment super et va encore une fois bien m'inspirer.

Cependant ayant récemment créer des behavior je voulais juste faire une remarque ou une mise en garde lors de l'ajout de "settings" au behavior. Un behavior est partagé pour tout les models qui l'utilise du coups si on veut créer des options spécifiques à chaque model il faut créer un table associatif.

Comme l'exemple de la doc officiel (modifié pour collé au tuto):

<?php
function setup(Model $Model, $settings=array()) {
    $this->settings$Model->alias] = array_merge($this->_default, (array)$settings);
}

Voilà je voulais juste dire ça car j'ai fait l'erreur d'utiliser les settings en pensant que chaque model avait son behavior dédié alors que ce n'est pas le cas!

2 réponses


Oui dans le cas du tuto le settings est global (vu qu'il concerne la taxonomy généralement)
Dans le cas d'une propriété qui serait propre à chaque model j'aurais plutot tendance à aller placer mes variable directement dans le model avec
$model->propriete = 'value';

Mais merci pour la remarque j'ai complètement zappé d'en parler dans le tuto :(

snap
Auteur

Je me doutais que tu le savais mais vu que j'ai fait l'erreur et que j'ai mit du temps à la trouver j'ai préférer le partager.

C'est vrai que maintenant que tu le dit, placer les options directement sur le model c'est pas mal du tout en faite. Tu n'arrêteras donc jamais de nous apprendre des trucs ^^?

Autre chose tant que j'y suis. Je suis pas trop sur de moi cette fois mais il me semble que dans le tableau $this->request->data les clefs sont les alias des models, or tu utilise les $model->name, bien sur c'est très rare que l'alias soit différent mais esque tu a une raison particulière pour faire ça?
Je sent que tu va encore m'apprendre un truc que je ne connaissait pas et je vais me sentir con.

En tout cas encore merci pour tout ce que tu fait!!