我试图简单地使用位于 /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;
}
}
这是在 View 文件中:
<?php echo $this->friends(); ?>
我在这一行收到一个错误,说它无法在已有的路径中找到该插件。
错误:
Plugin by name 'Friends' was not found in the registry; used paths: My_View_Helper_: /My/View/Helpers/ Zend_View_Helper_: Zend/View/Helper/;C:/http/xampplite/htdocs/zf-tutorial/application/views\helpers/
看起来它使用了正确的路径并且文件就在那里。我不明白为什么找不到它?
最佳答案
我认为问题在于使用了不正确的路径。
...used paths: 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
。
关于php - zend 框架找不到帮助程序 View 文件。出现 'Plugin by name was not found' 错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9953767/