【问题标题】:Can't load Action Helpers in Zend-framework application无法在 Zend 框架应用程序中加载动作助手
【发布时间】:2011-05-31 06:08:41
【问题描述】:

我正在尝试创建一个动作助手,但加载它并不困难,我收到了这个错误:

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

任何想法为什么这不起作用?

【问题讨论】:

    标签: zend-framework helper autoload


    【解决方案1】:

    我在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_');
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-03-01
      • 1970-01-01
      • 2011-03-25
      • 1970-01-01
      • 2023-03-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多