一直在扯我的头发为什么这不起作用。尝试注册一个控制器动作助手,例如在 Zend 文档、这里的几篇文章和各种博客中找到的。在 application.ini 和 Bootstrap 中都进行了尝试。
助手本身驻留在 APPLICATION_PATH 中。“/控制器/助手”。该文件本身称为 Scopeing.php。在 application.ini 中,appnamespace = ""。
<?php
class Helper_Scoping extends Zend_Controller_Action_Helper_Abstract
{
public function direct()
{
// code is here
}
}
首先我在application.ini中尝试过:
resources.frontController.actionhelperpaths.Helper = APPLICATION_PATH "/controllers/helpers"
resources.frontController.plugins.Scoping = "Helper_Scoping"
在我的控制器中调用以下内容会引发异常并显示消息:“Action Helper by name Scoping not found”:
$this->_helper->Scoping();
然后我在我的 Bootstrap 中尝试了以下操作(根据我看到的其他示例,我尝试了“Helper”和“Helper_”):
protected function _initActionHelpers()
{
Zend_Controller_Action_HelperBroker::addPath(
APPLICATION_PATH . '/controllers/helpers',
'Helper_'
);
Zend_Controller_Action_HelperBroker::addHelper(
new Helper_Scoping()
);
}
这次我得到一个未捕获的异常,但同样的想法:“致命错误:在第 116 行的 /Users/ppjd/Sites/dbos/application/Bootstrap.php 中找不到类 'Helper_Scoping'”
由于那里有很多工作示例,我认为我一定错过了一些愚蠢的东西。请求救。