2011-06-15 9 views
1

Je réalise un projet CakePHP avec le composant Auth. Lorsque je me connecte, j'ai une variable de session avec des données utilisateur. À l'heure actuelle, j'utilise cette variable dans les contrôleurs pour transmettre des données au modèle.Variables globales CakePHP dans le modèle

$user = $this->Session->read('Auth'); 
$costs = $this->Posts->get_quartal_cost($user, $quartal, TRUE); 

Comme j'utilise ceci dans de nombreux contrôleurs/modèles Je pense que cela ne approche DRY, donc je voulais faire mieux - (?) Quelque chose dans AppModel

Avez-vous quelques conseils comment faire mieux?

Merci

Répondre

0

Vous pouvez utiliser l'événement beforeFilter dans votre AppController et faire quelque chose comme ceci:

public function beforeFilter() 
{ 
    if ($this->Session->check('Auth')) 
    Configure::write('Auth', $this->Session->read('Auth')); 
} 

De partout dans vos contrôleurs, modèles et même des vues, vous serez en mesure d'y accéder en utilisant echo Configure::read('Auth');. Voir la documentation Configuration class pour plus d'informations.

+0

Merci! Je pensais que la classe Configure est destinée à plus de données "statiques", comme la configuration, les paramètres, etc. – Orbitum