php

Zendframework 模块化设置

ZF的quickstart的案例不是模块化的,Zend网站也有关于模块化布局的说明,但是看了却不知道怎么用,然后摸索了好一陈,查了好多资料(现在中文网站对ZF方面的讨论比较少,而且基本上都是停留在1.9版本以前的,现在的版本有较大的调整,据说2.0会有更大的改动,国外对这方面的讨论还是有一些)

单模块布局目录:
application/
   configs/
   controllers/
   models/
   views/
   Bootstrap.php

单模块布局的application.ini配置:
resources.frontController.controllerDirectory = APPLICATION_PATH “/controllers”

Bootstrap:
    protected function _initAutoload()
   {
       $moduleLoader = new Zend_Application_Module_Autoloader(array(
           ‘namespace’ => ”, 
           ‘basePath’ => APPLICATION_PATH));
       return $moduleLoader;
       
   }

多模块布局目录:
application/
   Bootstrap.php
   configs/
   modules/
       default/
           controllers/
           models/
           views/
       admin/
           controllers/
           models/
           views/

多模块布局的application.ini配置:
resources.frontController.moduleDirectory = APPLICATION_PATH “/modules/”
resources.frontController.moduleControllerDirectoryName = “controllers”
resources.frontController.defaultModule = “default”

Bootstrap:
    protected function _initAutoload()
   {
       $default_autoloader = new Zend_Application_Module_Autoloader(array(
           ‘namespace’ => ‘Default’,
           ‘basePath’ => APPLICATION_PATH . ‘/modules/default’,
       ));

   $admin_loader = new Zend_Application_Module_Autoloader(array(
     ‘namespace’ => ‘Admin’,
     ‘basePath’ => APPLICATION_PATH . ‘/modules/admin’,
  ));
   }

这是我目前找到的解决方案,在基于原有的基础之上作最少的改动

Leave a Reply

Your email address will not be published. Required fields are marked *