无法在Zend框架应用程序中加载Action Helpers

时间:2010-12-27 18:06:56

标签: zend-framework helper autoload

我正在尝试创建一个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

为什么这不起作用?

1 个答案:

答案 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_');
}