| Tweet |
Hi
This is a repost of the old post about the zend framework modular redesign .
Files and directories hierearchy
www/ application/ admin/ controllers/ forms/ layouts/ models/ views/ configs/ application.ini default/ controllers/ forms/ layouts/ models/ views/ Bootrstap.php library/ Zend/ public/ index.php
And here is the configs/application.ini file , I will list the most important lines .
This is for the modules , note that we have made the module directory , the Application Path itself , so you can put your modules inside application directory as we did in the directories hierarchy .
includePaths.library = APPLICATION_PATH "/../library" bootstrap.path = APPLICATION_PATH "/Bootstrap.php" bootstrap.class = "Bootstrap" appnamespace = "Application" resources.frontController.moduleDirectory = APPLICATION_PATH resources.modules[] =
and in the Bootstrap file , you can define _init function as you can , the most important one is the autoload function , here is Bootstrap.php file
here you are loading the two namespace you have ( default and admin ) .
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
public function _initAutoload() {
$autoloader = new Zend_Application_Module_Autoloader(
array('namespace' => 'Default',
'basePath' => dirname(__FILE__) . '/default',
)
);
$autoloader2 = new Zend_Application_Module_Autoloader(
array('namespace' => 'Admin',
'basePath' => dirname(__FILE__) . '/admin',
)
);
$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
Zend_Layout::startMvc();
$bootstrap = $application->getBootstrap();
Zend_Session::start();
$db = new Zend_Db_Adapter_Mysqli($bootstrap->getOption("database"));
Zend_Db_Table_Abstract::setDefaultAdapter($db);
return $autoloader;
}
}
That's it , feel free to ask any questions .
0 comments: