我想简单地使用位于/library/my/view/helpers/friends.php
我在application.ini
:
resources.view.helperPath.My_View_Helper = "/my/view/helpers"
这是助手类:
class My_View_Helper_Friends extends Zend_View_Helper_Abstract {
public function friends() {
$str = "hello world";
return $str;
}
}
这是在视图文件中:
<?php echo $this->friends(); ?>
我在这一行收到错误,说它无法在已经存在的路径中找到该插件。
错误:
在注册表中找不到名为'Friends'的插件;使用路径: My_View_Helper_:/ My / View / Helpers / Zend_View_Helper_: 的Zend /视图/助手/; C:/ HTTP / Xampplite文件/ htdocs中/ ZF-教程/应用/视图\助手/
看起来它使用正确的路径,文件就在那里。我不明白为什么找不到它?
答案 0 :(得分:2)
我认为问题在于使用了错误的路径。
...使用过的路径:My_View_Helper_:/ My / View / Helpers /
注意路径是/My/View/Helpers
。它使用的是绝对路径。另一个问题是该文件夹应命名为Helper
而不是helpers
。
然后将application.ini
中的配置行更改为:
resources.view.helperPath.My_View_Helper = APPLICATION_PATH "/../library/my/view/helper"
并确保您的类名为My_View_Helper_Friends
,文件名为Friends.php
。案件很重要。该目录应该真的被称为My/View/Helper
带帽。
编辑:假设您library
中有include_path
,您还可以使用该行:
resources.view.helperPath.My_View_Helper = "My/View/Helper"
请注意它没有前导/
。这会搜索include_path
中所有位置的My/View/Helper
文件夹。