我正在尝试创建一个Action Helper,但是我很难加载它而且我收到了这个错误:
Message: Action Helper by name Usersession not found
在我的控制器动作方法中,我试图调用这个帮助器,我有这个:
Zend_Controller_Action_HelperBroker::addPath('/helpers/');
Zend_Controller_Action_HelperBroker::addPrefix('Helper');
$userSession = $this->_helper->getHelper('Usersession');
$this->view->session = $userSession->eendersWat();
我实际上更喜欢从bootstrap.php加载我的助手,但是也无法解决这个问题。
我的助手位于application/controller/helpers
。我的帮助文件名为Usersession.php
,类名为Helper_Usersession
为什么这不起作用?
答案 0 :(得分:2)
我在Bootstrap
中使用以下内容:
protected function _initHelperPath()
{
Zend_Controller_Action_HelperBroker::addPath(
APPLICATION_PATH . '/controllers/helpers',
'Application_Controller_Action_Helper_');
}
然后帮助程序类名为'Application_Controller_Action_Helper_Usersession'
,文件位于application/controllers/helpers/Usersession.php
当然,这假设您使用Application_
作为应用程序命名空间。在您的情况下,您似乎使用的是空的应用程序命名空间而不是我的罗嗦Controller_Action_
中缀,所以您的内容将类似于:
protected function _initHelperPath()
{
Zend_Controller_Action_HelperBroker::addPath(
APPLICATION_PATH . '/controllers/helpers',
'Helper_');
}