【问题标题】:Zend framework: Forms in modulesZend 框架:模块中的表单
【发布时间】:2010-05-21 12:54:06
【问题描述】:

我想做什么:

创建多个模块,其中包含表单文件夹。

我做了什么:

在模块内创建一个引导程序,并添加一个 _initAutoload 函数,并将特定模块名称作为命名空间。

例如,具有以下引导程序的管理模块:

class Admin_Bootstrap extends Zend_Application_Module_Bootstrap
{

    protected function _initAutoload()
    {
        $autoloader = new Zend_Application_Module_Autoloader(array(
            'namespace' => 'Admin_',
            'basePath'  => dirname(__FILE__),
        ));
        return $autoloader;
    }

}

我的问题是:

这是做我想做的事情的正确方法吗? - 我在没有管理员引导程序的情况下尝试了它,但它找不到我的表单,直到我添加了引导程序。

干杯
克里斯

【问题讨论】:

    标签: php zend-framework module bootstrapping


    【解决方案1】:

    自动加载器会为每个模块引导程序自动设置。无需手动配置。

    class Admin_Bootstrap extends Zend_Application_Module_Bootstrap {}
    

    就是你所需要的。

    然后将您的表格放入/application/modules/admin/forms/

    Admin_Form_Myform extends Zend_Form {...}
    

    为你的自定义资源,自定义resourceAutoloader:

       class Admin_Bootstrap extends Zend_Application_Module_Bootstrap 
       {
            public function _initAuloload() 
            {
                 $resourceLoader = $this->_resourceAuloloader;
                 // var_dump($resourceLoader);
            }
       }
    

    【讨论】:

      【解决方案2】:

      记得在你的 appllication.ini 中添加

      resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

      resources.modules = ""

      【讨论】:

      • @Samuele - 您能否提供一些资源链接,这些资源描述了 zend 框架中的 application.ini 文件
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-19
      • 2012-04-09
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多