2011-02-02 96 views
0

当我们在Zend应用程序中创建一个视图帮助程序时,该帮助程序是否可用于所有视图,或者,我们是否应该告诉该视图帮助程序可用于特定视图? 如果在视图文件夹“某些东西”中,我们有多个文件?任何这些文件都可以调用它?Zend-Framework视图助手 - 它具体的视图相关吗?

非常感谢, MEM

+1

视图助手可用于所有视图。 – opHASnoNAME 2011-02-02 09:16:56

回答

2

当你调用一个视图助手,该框架将通过查找定义$view->addHelperPath()的路径中。通常,这样的通话将包括一个伪命名空间以及一个路径:

$view->addHelperPath('My/View/Helper', 'My_View_Helper_');

然后当你调用在布局视图助手或视图脚本:

<?php echo $this->someHelper() ?>

该框架将执行LIFO搜索,将前缀(在上述情况下为'My_View_Helper_')附加到类名'SomeHelper',然后尝试加载由addHelperPath()映射定义的文件。

在默认设置中,框架预加载Zend视图助手致电:

$view->addHelperPath('Zend/View/Helper', 'Zend_View_Helper_');

这就是为什么你可以使用所有的Zend公司提供的视图助手开箱的。

由于所有这些处理都独立于哪个视图脚本正在进行调用,它将在任何视图脚本中工作。 [实际上有一些与调用在其他模块中定义的视图助手相关的问题,但这是一个单独的问题。]