2013-07-10 4 views
0

아래의 기능은 을 DB에 넣기 위해 Bootstrap 클래스에 있습니다. 이제 Flashmessenger 및 Redirector helpers를 사용하여 대시 보드로 리디렉션해야합니다. 그러나 치명적인 오류가 발생합니다.젠드 부트 스트랩 리다이렉트

protected function _initDebug() 
{ 
    register_shutdown_function(function() { 
     if ($e = error_get_last()) { 
      Zend_Registry::get('logger')->emerg($e['message'] . " in " . $e['file'] . ' line ' . $e['line'], 'error'); 
      $logsDbTable = new Application_Model_DbTable_Logs(); 
      $id = $logsDbTable->getLastInsertId(); 
      $message = sprintf(Zend_Registry::getInstance()->config->ticket_msg,$id,Zend_Registry::getInstance()->config->support_phone_number); 
      $this->_helper->FlashMessenger(array('error' => $message)); 
      $this->_helper->_redirector->goToSimple('index', 'dashboard');    
     } 
    }); 
} 
+0

은 부트 스트랩 클래스에서 사용할 수있는 $ this -> _ helper입니까? Zend_Controller_Action_HelperBroker를 등록하셨습니까? –

+0

아니오 등록되지 않았습니다. @ARIFMAHMUDRANA –

답변

1

As Zend_Controller_Action_HelperBroker를 등록하지 않으면 수동으로 도우미를 인스턴스화해야합니다. 나는 그것을 검사하지는 않았지만 효과가있다.

protected function _initDebug() 
{ 
    register_shutdown_function(function() { 
     if ($e = error_get_last()) { 
      Zend_Registry::get('logger')->emerg($e['message'] . " in " . $e['file'] . ' line ' . $e['line'], 'error'); 
      $logsDbTable = new Application_Model_DbTable_Logs(); 
      $id = $logsDbTable->getLastInsertId(); 
      $message = sprintf(Zend_Registry::getInstance()->config->ticket_msg,$id,Zend_Registry::getInstance()->config->support_phone_number); 
      $fm = new Zend_Controller_Action_Helper_FlashMessenger(); 
      $fm->addMessage(array('error' => $message));//$this->_helper->FlashMessenger(array('error' => $message)); 
      $rd = new Zend_Controller_Action_Helper_Redirector(); 
      $rd->goToSimple('index', 'dashboard');//$this->_helper->_redirector->goToSimple('index', 'dashboard');    
     } 
    }); 
} 
+0

도움을 주셔서 감사합니다. Arif –

관련 문제