<?php
return new Zend\Config\Config(array(
+ 'bootstrap_class' => 'Application\Bootstrap',
'module_paths' => array(
realpath(__DIR__ . '/../modules'),
),
<?php
namespace Application;
-use Zend\Config\Config,
- Zend\Di\Configuration as DiConfiguration,
+use Zend\Di\Configuration as DiConfiguration,
Zend\Di\Di,
Zend\EventManager\StaticEventManager,
Zend\Module\Manager as ModuleManager,
- Zend\Mvc\Application;
+ Zend\Mvc\Application,
+ Zend\Mvc\Router\Http\TreeRouteStack as Router;
class Bootstrap
{
+ /**
+ * @var \Zend\Config\Config
+ */
protected $config;
+
+ /**
+ * @var ModuleManager
+ */
protected $modules;
- public function __construct(Config $config, ModuleManager $modules)
+ public function __construct(ModuleManager $modules)
{
- $this->config = $config;
$this->modules = $modules;
+ $this->config = $modules->getMergedConfig();
}
public function bootstrap(Application $app)
protected function setupRoutes(Application $app)
{
- $router = $app->getLocator()->get('Zend\Mvc\Router\SimpleRouteStack');
- $router->addRoutes($this->config->routes->toArray());
+ $router = new Router();
+ $router->addRoutes($this->config->routes);
$app->setRouter($router);
}
$appConfig = include __DIR__ . '/../configs/application.config.php';
-$moduleLoader = new Zend\Loader\ModuleAutoloader($appConfig->module_paths);
+$moduleLoader = new Zend\Loader\ModuleAutoloader($appConfig['module_paths']);
$moduleLoader->register();
$moduleManager = new Zend\Module\Manager(
- $appConfig->modules,
- new Zend\Module\ManagerOptions($appConfig->module_manager_options)
+ $appConfig['modules'],
+ new Zend\Module\ManagerOptions($appConfig['module_manager_options'])
);
-// Get the merged config object
-$config = $moduleManager->getMergedConfig();
-
// Create application, bootstrap, and run
-$bootstrap = new $config->bootstrap_class($config, $moduleManager);
-$application = new Zend\Mvc\Application;
+$bootstrapClass = $appConfig['bootstrap_class'];
+$bootstrap = new $bootstrapClass($moduleManager);
+$application = new Zend\Mvc\Application;
$bootstrap->bootstrap($application);
$application->run()->send();