【问题标题】:subfolders in views/helpers zend视图/助手 zend 中的子文件夹
【发布时间】:2025-11-25 09:40:01
【问题描述】:
我想在我的视图/助手中创建不同的文件夹,并在其中添加我的视图助手类。但我无法访问这些课程。
最好的方法是什么?
我尝试调整我的 application.ini 文件设置...但没有成功
这是我在ini文件中设置的:
resources.view.helperPath = APPLICATION_PATH "/views/helpers/models"
resources.view.helperPath = APPLICATION_PATH "/views/helpers/test"
models 和 test 是我的 /views/helpers 文件夹中的子文件夹
谁能提出更好的解决方案?
【问题讨论】:
标签:
zend-framework
view
view-helpers
【解决方案1】:
使用application.ini 中的当前设置,您只需为 Zend (Zend_View_Helper_) 中的默认视图助手添加另一个路径。
您必须指定要使用的类前缀:
; View_Helper_Models is the class prefix
resources.view.helperPath.View_Helper_Models = APPLICATION_PATH "/views/helpers/models"
; View_Helper_Test is the class prefix
resources.view.helperPath.View_Helper_Test = APPLICATION_PATH "/views/helpers/test"
现在应用程序知道如何将您的类名映射到路径。或者,您可以在您的主要Bootstrap.php 中启用此功能:
protected function _initViewHelper()
{
$this->bootstrap( 'view' );
$this->_view = $this->getResource( 'view' );
$this->_view->addHelperPath( APPLICATION_PATH . '/views/helpers/models',
'View_Helper_Models' );
$this->_view->addHelperPath( APPLICATION_PATH . '/views/helpers/test',
'View_Helper_Test' );
}
注意:路径的大小写必须正确。
【解决方案2】:
在你的配置文件中添加这两行第二行是你自定义的助手路径
resources.view[] =
resources.view.helperPath.Zend_View_Helper = APPLICATION_PATH "/../library/FolderA/FolderB/helpers"
在创建 Helper 时,给类名是这样的
<?php
class Zend_View_Helper_Foo extends Zend_View_Helper_Abstract
{
public function foo(){
echo 'hello world';
}
}
并在您的任何视图文件中将该助手称为$this->foo();
【解决方案3】:
我认为您只需输入正确的视图助手类名称即可!
例如,您在 APPLICATION_PATH "/views/helpers/models" 中创建一个文件 "Mine.php",然后将类命名为 class View_Helper_Models_Mine
希望对您有所帮助。
问候,
艾哈迈德 B.