通常,如果我想使用的網址助手控制器或動作助手的背景之外,我剛剛創建幫助自己的新實例。
您應該可以使用下面的代碼來獲得一個網址助手,並使用它:
$urlHelper = new Zend_Controller_Action_Helper_Url();
$url = $urlHelper->url(array('controller' => 'foo',
'action' => 'bar',
'module' => 'mod'));
我不知道爲什麼你遇到這個錯誤,但如果助手尚未註冊與前端控制器(?也許你正在調用這個太早在你的應用調度),請嘗試使用getStaticHelper()
代替getExistingHelper()
:
$urlHelper = Zend_Controller_Action_HelperBroker::getStaticHelper('url');
如果URL助手尚未與插件加載註冊,它將註冊並加載它你呢。
從The Helper Broker Documentation:
There are also two static methods for retrieving helpers from the helper broker: getExistingHelper()
and getStaticHelper()
. getExistingHelper()
will retrieve a helper only if it has previously been invoked by or explicitly registered with the helper broker; it will throw an exception if not. getStaticHelper()
does the same as getExistingHelper()
, but will attempt to instantiate the helper if has not yet been registered with the helper stack. getStaticHelper()
is a good choice for retrieving helpers which you wish to configure.
我不知道你已經給了足夠的信息來解決問題。你如何配置你的ZF應用程序?配置是什麼樣的?這只是一個URL,還是問題發生在你的默認模塊的其他地方?它也發生在其他模塊嗎?您收到的異常是否也說明了HelperBroker正在查找的文件夾? – curtisdf 2012-07-25 19:51:16