Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/236.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php Zend Action Helper未加载*有时*_Php_Zend Framework - Fatal编程技术网

Php Zend Action Helper未加载*有时*

Php Zend Action Helper未加载*有时*,php,zend-framework,Php,Zend Framework,我有一个zend action助手,它偶尔不加载。我得到一个例外: Action helper by name EditAction not found 你知道为什么有时候它能找到,有时候却不能吗 我将异常更改为列出action helper目录的内容,文件就在那里。我还让它打印出助手的内容…这也很好 有什么想法吗?在使用EditAction助手witch Zend Controller Action helper broker之前,您似乎没有注册它。如果您的EditAction位于libra

我有一个zend action助手,它偶尔不加载。我得到一个例外:

Action helper by name EditAction not found
你知道为什么有时候它能找到,有时候却不能吗

我将异常更改为列出action helper目录的内容,文件就在那里。我还让它打印出助手的内容…这也很好


有什么想法吗?

在使用EditAction助手witch Zend Controller Action helper broker之前,您似乎没有注册它。如果您的EditAction位于library/My/EditAction.php,并且该类名为My_EditAction,则在引导中执行此操作

Zend_Controller_Action_HelperBroker::addHelper(new My_EditAction());
::addPath()如果路径设置正确,应该也能正常工作。如果只有一个操作助手,我仍然建议使用::addHelper而不是addPath()。如果路径中有多个操作帮助程序,则可以在引导中使用addPrefix()而不是::addHelper()

要确定助手代理中是否存在助手,请使用hasHelper($name),其中$name是助手的短名称(减去前缀):


我认为您需要发布一些代码以获得帮助。你能发布这个类并举例说明你是如何使用它的吗?我用::addPath()来代替…这还不够吗?
Zend_Controller_Action_HelperBroker::addPrefix('My_Action_Helpers');
// Check if 'redirector' helper is registered with the broker:
    if (Zend_Controller_Action_HelperBroker::hasHelper('redirector')) {
        echo 'Redirector helper registered';
    }