在这个例子中,我希望每次进入控制器时将名为“test”的会话变量增加1。如果注释方法preDispath的内容工作正常但是使用这个精确的例子,会话变量“test”每次增加3或5。 我使用Zend Framework 1.11.4
为什么???我希望你理解我的问题。
请记住,此示例仅用于显示preDispatch方法的奇怪行为
我的插件
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');
}
}
我的引导程序
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());
}
}
我的控制器
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();
}
}
非常感谢
答案 0 :(得分:0)
尝试放入.ini resources.frontController.plugins.foo =" My_Plugin_Foo"
如果作品告诉我! TNKS