コード例 #1
0
 /**
  * Called before Zend_Controller_Front enters its dispatch loop.
  *
  * @param  Zend_Controller_Request_Abstract $request
  * @return void
  */
 public function dispatchLoopStartup(Zend_Controller_Request_Abstract $request)
 {
     $moduleName = $request->getModuleName();
     if (empty($moduleName)) {
         $moduleName = 'default';
     }
     $front = Zend_Controller_Front::getInstance();
     $moduleDir = $front->getModuleDirectory($moduleName);
     if (empty($moduleDir)) {
         $moduleDir = APPLICATION_PATH;
     }
     defined('MODULE_PATH') || define('MODULE_PATH', getenv('MODULE_PATH') ? getenv('MODULE_PATH') : $moduleDir);
     defined('MODULE_NAME') || define('MODULE_NAME', getenv('MODULE_NAME') ? getenv('MODULE_NAME') : $moduleName);
     $this->_autoloader = new Zend_Application_Module_Autoloader(array('namespace' => $moduleName, 'basePath' => $moduleDir));
     $this->_bootstrap = $front->getParam('bootstrap');
     $globalOptions = $this->_bootstrap->getOptions();
     $options = array();
     if (isset($globalOptions['default'])) {
         $options = $globalOptions['default'];
     }
     if (isset($globalOptions[$moduleName])) {
         $options = $this->_bootstrap->mergeOptions($options, $globalOptions[$moduleName]);
     }
     $applicationFile = $moduleDir . DIRECTORY_SEPARATOR . self::MODULE_APPLICATION_INI;
     if (isset($globalOptions['application_file'])) {
         $applicationFile = $moduleDir . DIRECTORY_SEPARATOR . $globalOptions['application_file'];
     }
     $options = $this->_bootstrap->mergeOptions($options, $this->_loadConfig($applicationFile));
     if (isset($globalOptions['disable'])) {
         $options = $this->unsetOptions($options, $globalOptions['disable']);
     }
     $this->_bootstrap->setOptions($options);
     $this->_bootstrap->bootstrap();
 }
コード例 #2
0
ファイル: BootstrapAbstractTest.php プロジェクト: netvlies/zf
 /**
  * @group ZF-7550
  */
 public function testRequestingPluginsByAutoloadableClassNameShouldNotRaiseFatalErrors()
 {
     // Using namesapce 'zabt' to prevent conflict with Zend namespace
     $rl = new Zend_Loader_Autoloader_Resource(array('namespace' => 'Zabt', 'basePath' => dirname(__FILE__) . '/../_files'));
     $rl->addResourceType('resources', 'resources', 'Resource');
     $options = array('resources' => array('Zabt_Resource_Autoloaded' => array('bar' => 'baz')));
     $this->application->setOptions($options);
     $bootstrap = new Zend_Application_Bootstrap_Bootstrap($this->application);
     $bootstrap->bootstrap();
 }