6

我想做的事:

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

我做了什么:

在模块内创建一个引导程序,并添加一个 _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;
    }

}

我的问题是:

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

干杯
克里斯

4

2 回答 2

11

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

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);
        }
   }
于 2010-05-21T20:09:49.987 回答
5

记得在你的 appllication.ini 中添加

resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"

资源.modules = ""

于 2011-10-18T16:08:23.677 回答