Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour,
Dans mon code, je récupère l'identité d'un utilisateur connecté par : $this->view->user = Zend_Auth::getInstance()->getIdentity();
Dans la vue j'accède à un champs de table par : $this->escape($this->user->real_name);
Je souhaiterai que la vue accède au champs désiré par $this->GetRealName(); - par souci de sécurité et surtout pour empêcher la vue de modifier l'état de mes variables (ce n'est pas moi qui codera la partie Vue du MVC, j'espère).
Logiquement j'aurai créer la classe GetRealName() dans le Controlleur mais n'ayant pas encore utilisé les helpers, je demande votre avis pour se genre de fonction Get_() et Set_(). Les helpers sont fait pour ça ? ZF met un mécanisme à ce sujet pour ce traitement ?
Je pose la question qui pourtant parait bête parceque je me souviens d'avoir vu un article pour empêcher la vue de modifier les données, mais je n'arrive plus à le trouver.
Merci :-)
Hors ligne
ne jamais donner d'objet applicatif à la vue
la vue ne dois recevoire que des valeurs
donc
$this->view->user = clone(Zend_Auth::getInstance())
est un minimum
tu peux te créer une classe User qui prend Zend_Auth::getInstance() en paramétre de construction et qui contient tes méthode pour la vue
tu feras alors ainsi
$this->view->user = new User (Zend_Auth::getInstance())
tu poura alors faire
$this->user->GetRealName();
mais là encore mieux vaut recopier les valeur dans l'objet que de donnéer une référence à un objet en session
sinon la vue peut le manipuler.
A+JYT
Hors ligne
Tu peux aussi peut être faire un helper 'user' je pense
Ainsi tu aurais
$this->user()->methodeQueTuVeux()
Enfin je sais pas trop ce qui est le mieux.
Hors ligne