Dans cet exemple, je souhaite augmenter la variable de session appelée "test" de un chaque fois qu'elle est entrée dans le contrôleur. Si commentaire le contenu de la méthode preDispath fonctionne bien mais avec cet exemple précis, la variable de session "test" augmente de 3 ou 5 à chaque fois. J'utilise Zend Framework 1.11.4Comportement étrange du Controller_Plugin
Pourquoi ??? J'espère que vous comprenez ma question.
Rappelez-vous cet exemple est de montrer que le comportement étrange de la méthode preDispatch
Mon plug-in
class App_Plugins_Permisos extends Zend_Controller_Plugin_Abstract{
public function __construct(){}
public function preDispatch(Zend_Controller_Request_Abstract $request) {
$request->setModuleName('default');
$request->setControllerName('index');
$request->setActionName('index');
}
}
Mon bootstrap
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap{
protected function _initSession(){
Zend_Session::start();
}
protected function _initPlugins(){
$this->bootstrap('frontcontroller');
$this->frontController->registerPlugin(new App_Plugins_Permisos());
}
}
Mon contrôleur
class IndexController extends Zend_Controller_Action{
public function init(){}
public function indexAction(){
$s = new Zend_Session_Namespace('test');
if(isset($s->test)){
$s->test++;
}else{
$s->test = 1;
}
Zend_Debug::Dump($s->test);
die();
}
}
Merci beaucoup
J'ai essayé de reproduire ce problème, mais je ne peux pas. Pour moi cela fonctionne comme prévu (ZF 1.11.0). – Marcin
avec le navigateur faites votre test? dans mon cas, fonctionne bien dans ie8 mais pas dans chrome et firefox 4 – user660030
J'utilise chrome 8 dans Linux Mint 10. – Marcin