【发布时间】:2011-01-31 15:46:27
【问题描述】:
我在使用空 Zend_View 和 addHelperPath 时遇到问题。 有人知道两者的区别在哪里
$view = Zend_Layout::getMvcInstance()->getView();
$view->addHelperPath(
APPLICATION_PATH . '/views/helpers/layouts',
'FOO_View_Helper'
);
和
$view = new Zend_View;
$view->addHelperPath(
APPLICATION_PATH . '/views/helpers/layouts',
'FOO_View_Helper'
);
Zend_Layout::getMvcInstance()->setView($view);
$helper = Zend_Controller_Action_HelperBroker::getStaticHelper('viewRenderer');
$helper->setView($view);
对于第一个示例,我的视图助手已加载。例子二说
Plugin by name 'PriceOutput' was not found in the registry; used paths:
Zend_View_Helper_: Zend/View/Helper/;./views\helpers/
我添加了一个
echo "<xmp>", var_dump($registry), "</xmp>";
在
PluginLoader::load($name, $throwExceptions = true)
和 helperPaths 都在同一个地方。但是对于第二个例子,ZF 似乎只搜索Zend_View_Helper 而不是FOO_View_Helper。
有什么想法吗?
就像我说的,第一个例子看了一下 FOO_View_Helper,第二个不是:
Uncaught exception 'Zend_Loader_PluginLoader_Exception' with message 'Plugin by name 'FooBar' was not found in the registry; used paths: FOO_View_Helper_: C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/basket/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/globallayer/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/globallayer/help/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/globallayer/styleinfolayer/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/layout/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/nys/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/overview/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/search/;C:\Programme\Zend\Apache2\htdocs\trunk_webshop\application/views/helpers/singleproductview/;C:\Programme\Zend in C:\Programme\Zend\Apache2\htdocs\trunk_core_webshop\library\Zend\Loader\PluginLoader.php on line 414
($view->getHelperPaths() 应该更好:P)
【问题讨论】:
-
尝试在你的视图脚本中调用一个不存在的助手,错误输出应该告诉你它试图访问哪些助手路径。
标签: php zend-framework helper