X-Git-Url: http://git.inspyration.org/?a=blobdiff_plain;f=public%2Findex.php;h=f347d342f402e9e4cf42dddfca16b5a074656d7a;hb=3b4e0e485233d44ee3a247bf34c1ca1bfd276c90;hp=767893c7f452640d84f946293c35078e202d1a59;hpb=069c369af0d167f7bc1b359468f3136d50429747;p=zf2.biz%2Fgalerie.git diff --git a/public/index.php b/public/index.php index 767893c..f347d34 100644 --- a/public/index.php +++ b/public/index.php @@ -1,20 +1,40 @@ array())); +use Zend\Loader\AutoloaderFactory; +use Zend\ServiceManager\ServiceManager; +use Zend\Mvc\Service\ServiceManagerConfiguration; -$appConfig = include dirname(__DIR__) . '/config/application.config.php'; +chdir(dirname(__DIR__)); -$moduleLoader = new Zend\Loader\ModuleAutoloader($appConfig['module_paths']); -$moduleLoader->register(); +// Composer autoloading +if (file_exists('vendor/autoload.php')) { + $loader = include 'vendor/autoload.php'; +} -$moduleManager = new Zend\Module\Manager($appConfig['modules']); -$listenerOptions = new Zend\Module\Listener\ListenerOptions($appConfig['module_listener_options']); -$moduleManager->setDefaultListenerOptions($listenerOptions); -$moduleManager->getConfigListener()->addConfigGlobPath(dirname(__DIR__) . '/config/autoload/*.config.php'); -$moduleManager->loadModules(); +// 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 + ) + )); + } +} -// Create application, bootstrap, and run -$bootstrap = new Zend\Mvc\Bootstrap($moduleManager->getMergedConfig()); -$application = new Zend\Mvc\Application; -$bootstrap->bootstrap($application); -$application->run()->send(); +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.'); +} + +// Get application stack configuration +$configuration = include 'config/application.config.php'; + +// 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();