Я пытаюсь вызвать вид помощника из подключаемого модуля (зарегистрированного в бутстрапе). С любого контроллера я могу получить доступ без каких-либо проблем, но не из плагина. Ниже мой код. Любая помощь приветствуется. спасибо. MiguelAccess action-helper внутри плагина переднего контроллера
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();
}
}
}
}
Я получаю следующее сообщение об ошибке. Неустранимая ошибка: исключение «Zend_Loader_PluginLoader_Exception» с сообщением «Плагин по имени« FlashMessages »не найден в реестре; используемые пути: Zend_Controller_Action_Helper_: Zend/Controller/Action/Helper/'в /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
Затем вам необходимо зарегистрировать вспомогательные FlashMessages в бутстрапе приложения перед регистрацией Plugins_security. Чтобы он был доступен. – RKJ
как вы регистрируете представление helper. Я могу использовать этот помощник во всем приложении, но не в классе плагинов. – user1960170