Consultez la FAQ sur le ZF avant de poster une question
Vous n'êtes pas identifié.
Bonjour à tous,
Voilà j'ai un morceau de code dans module.php qui récupère une variable de session Container, comme j'en ai besoin dans toutes mes layouts pour affichage je l'ai mis dedans :
[lang=php] public function onDispatch(MvcEvent $e) { try { $controller = $e->getTarget(); $controller->layout('layout/mt'); $controller->layout()->setVariable('action', $controller->params('action')); $controller->layout()->setVariable('controller', $controller->params('controller')); $sm = $e->getApplication()->getServiceManager(); $futiService = $sm->get('GestUsers\Service\FUtiService'); $container = new Container('IntraAuth'); if (isset($container->user)) { $user = $futiService->getUserById($container->user); $controller->layout()->setVariable('user', $user); } } catch (\Exception $e) { throw new \Exception($e); } }
Mais pour une action dans un de mes contrôleurs j'ai besoin de récupérer ma variable $user, et pour le moment je la récupère en rappelant à nouveau Container('IntraAuth') ce qui est lourd.
Comment je peux injecter mon $user dans mon contrôleur ?
thanks !
Amélie
Dernière modification par amelie (15-10-2015 15:41:04)
Hors ligne
Bonjour,
Si tu essaies de récupérer l'utilisateur authentifié dans le contrôleur ou la vue, il y a des plugins qui permettent de faire ça.
Pour le contrôleur : http://framework.zend.com/manual/curren … s-identity
Pour la vue : http://framework.zend.com/manual/curren … r-identity
Hors ligne
Zend\Auth te permet de stocker des données une fois l'utilisateur authentifié, tu peux choisir les colonnes à récupérer dans la base et y avoir accès via les plugins/aide de vue Identity. Essaies de faire un dump pour voir ce que contient ton $this->identity dans le contrôleur.
Pour le stockage, tout est dit dans la doc de ZendAuth.
Hors ligne