我想從插件(在引導程序中註冊)調用助手視圖。從任何控制器我都能夠訪問,而不是從任何問題,但不從插件。以下是我的代碼。任何幫助表示讚賞。 謝謝。米格爾前端控制器插件中的訪問動作助手
class Plugins_security extends Zend_Controller_Plugin_Abstract
{
public function preDispatch (Zend_Controller_Request_Abstract $request)
{
$auth = Zend_Auth::getInstance();
$moduleName = $request->getModuleName();
if ($request->getModuleName() != "auth")
{
$auth = Zend_Auth::getInstance();
if (! $auth->hasIdentity())
{
$redirector = Zend_Controller_Action_HelperBroker::getStaticHelper(
'redirector');
$flashMessenger = Zend_Controller_Action_HelperBroker::getStaticHelper('FlashMessages');
$flashMessenger->flashMessenger (array('message' => 'Sessao expirada', 'status' => 'error'));
$redirector->gotoUrl('/auth/login/')->redirectAndExit();
}
}
}
}
我收到以下錯誤。 致命錯誤:在註冊表中未找到帶有消息'按名稱插件'FlashMessages'的未捕獲異常'Zend_Loader_PluginLoader_Exception';使用路徑:Zend_Controller_Action_Helper_:Zend/Controller/Action/Helper /'in /usr/local/zend/share/ZendFramework/library/Zend/Loader/PluginLoader.php:412堆棧跟蹤:#0/usr/local/zend/share /ZendFramework/library/Zend/Controller/Action/HelperBroker.php(366):
FlashMessenger不是我的助手的名稱,名稱是FlashMessages,在該類中我調用: Zend_Controller_Action_HelperBroker :: getStaticHelper('FlashMessenger'); – user1960170
然後,您需要在Plugins_security註冊之前在應用程序引導程序中註冊您的幫助器FlashMessages。以便它可用。 – RKJ
你如何註冊一個視圖助手。我能夠在整個應用程序中使用這個助手,但不能在插件類中使用。 – user1960170