2011-03-15 11 views
0

이 예제에서는 컨트롤러에 입력 할 때마다 "test"라는 세션 변수를 1 씩 증가 시키려고합니다. 주석이 메서드 preDispath의 내용은 잘 작동하지만이 정확한 예제에서는 세션 변수 "test"가 매회 3 또는 5 씩 증가합니다. 젠드 프레임 워크 1.11.4를 사용합니다.Controller_Plugin의 이상한 동작

왜 ??? 내 질문을 이해하길 바래.

이 예제를 기억 메소드의 이상한 행동을 보여에만 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

이 문제를 재현하려고했지만 시도 할 수 없습니다. 나를 위해 그것은 예상대로 작동합니다 (ZF 1.11.0). 브라우저가있는 – Marcin

+0

시험을 보시겠습니까? 내 경우에는 ie8에서 잘 작동하지만 크롬이나 파이어 폭스에서는 그렇지 않다. 4 – user660030

+0

Linux Mint 10에서 크롬 8을 사용한다. – Marcin

답변

0

.INI resources.frontController.plugins.foo에서 퍼팅을 시도 작품이 말해 경우 = "My_Plugin_Foo"

! Tnks