2013-07-10 4 views
0

Эта функция ниже в классе Bootstrap для добавления log в DB для ошибок. Теперь мне нужно перенаправить ее на Личный кабинет с помощью помощников Flashmessenger и Redirector, но это порождает фатальную ошибку.Zend bootstrap redirect

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

is $ this -> _ helper доступен в классе начальной загрузки? Вы зарегистрировали Zend_Controller_Action_HelperBroker? –

+0

нет, я не зарегистрировался @ARIFMAHMUDRANA –

ответ

1

Как Вы еще не зарегистрированы 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 –

Смежные вопросы