X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=public%2Findex.php;h=f347d342f402e9e4cf42dddfca16b5a074656d7a;hb=3b4e0e485233d44ee3a247bf34c1ca1bfd276c90;hp=cd83a90ede8a84758204edd2e8b162358f3db38b;hpb=a7f22ba984ddda1d8d01ee027fa76b73b1074407;p=zf2.biz%2Fgalerie.git diff --git a/public/index.php b/public/index.php index cd83a90..f347d34 100644 --- a/public/index.php +++ b/public/index.php @@ -1,30 +1,40 @@ array())); +// Composer autoloading +if (file_exists('vendor/autoload.php')) { + $loader = include 'vendor/autoload.php'; +} -$appConfig = include __DIR__ . '/../configs/application.config.php'; +// Support for ZF2_PATH environment variable or git submodule +if ($zf2Path = getenv('ZF2_PATH') ?: (is_dir('vendor/ZF2/library') ? 'vendor/ZF2/library' : false)) { + if (isset($loader)) { + $loader->add('Zend', $zf2Path . '/Zend'); + } else { + include $zf2Path . '/Zend/Loader/AutoloaderFactory.php'; + AutoloaderFactory::factory(array( + 'Zend\Loader\StandardAutoloader' => array( + 'autoregister_zf' => true + ) + )); + } +} -$moduleLoader = new Zend\Loader\ModuleAutoloader($appConfig['module_paths']); -$moduleLoader->register(); +if (!class_exists('Zend\Loader\AutoloaderFactory')) { + throw new RuntimeException('Unable to load ZF2. Run `php composer.phar install` or define a ZF2_PATH environment variable.'); +} -$moduleManager = new Zend\Module\Manager( - $appConfig['modules'], - new Zend\Module\ManagerOptions($appConfig['module_manager_options']) -); +// Get application stack configuration +$configuration = include 'config/application.config.php'; -// Create application, bootstrap, and run -$bootstrapClass = $appConfig['bootstrap_class']; -$bootstrap = new $bootstrapClass($moduleManager); -$application = new Zend\Mvc\Application; -$bootstrap->bootstrap($application); -$application->run()->send(); +// Setup service manager +$serviceManager = new ServiceManager(new ServiceManagerConfiguration($configuration['service_manager'])); +$serviceManager->setService('ApplicationConfiguration', $configuration); +$serviceManager->get('ModuleManager')->loadModules(); + +// Run application +$serviceManager->get('Application')->bootstrap()->run()->send();