【问题标题】: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"

modelstest 是我的 /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-&gt;foo();

      【讨论】:

        【解决方案3】:

        我认为您只需输入正确的视图助手类名称即可! 例如,您在 APPLICATION_PATH "/views/helpers/models" 中创建一个文件 "Mine.php",然后将类命名为 class View_Helper_Models_Mine

        希望对您有所帮助。

        问候, 艾哈迈德 B.

        【讨论】:

          最近更新 更多