<?php
return array(
- 'di' => array(
- 'instance' => array(
-
- // Setup for controllers.
-
- // Injecting the plugin broker for controller plugins into
- // the action controller for use by all controllers that
- // extend it
- 'Zend\Mvc\Controller\ActionController' => array(
- 'parameters' => array(
- 'broker' => 'Zend\Mvc\Controller\PluginBroker',
+ 'routes' => array(
+ 'default' => array(
+ 'type' => 'Zend\Mvc\Router\Http\Segment',
+ 'options' => array(
+ 'route' => '/[:controller[/:action]]',
+ 'constraints' => array(
+ 'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
+ 'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
),
- ),
- 'Zend\Mvc\Controller\PluginBroker' => array(
- 'parameters' => array(
- 'loader' => 'Zend\Mvc\Controller\PluginLoader',
- ),
- ),
-
- // Setup for router and routes
- 'Zend\Mvc\Router\RouteStackInterface' => array(
- 'parameters' => array(
- 'routes' => array(
- 'default' => array(
- 'type' => 'Zend\Mvc\Router\Http\Segment',
- 'options' => array(
- 'route' => '/[:controller[/:action]]',
- 'constraints' => array(
- 'controller' => '[a-zA-Z][a-zA-Z0-9_-]*',
- 'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
- ),
- 'defaults' => array(
- 'controller' => 'Application\Controller\IndexController',
- 'action' => 'index',
- ),
- ),
- ),
- 'home' => array(
- 'type' => 'Zend\Mvc\Router\Http\Literal',
- 'options' => array(
- 'route' => '/',
- 'defaults' => array(
- 'controller' => 'Application\Controller\IndexController',
- 'action' => 'index',
- ),
- ),
- ),
- ),
- ),
- ),
-
- // Setup for the view layer.
-
- // Using the PhpRenderer, which just handles html produced by php
- // scripts
- 'Zend\View\Renderer\PhpRenderer' => array(
- 'parameters' => array(
- 'resolver' => 'Zend\View\Resolver\AggregateResolver',
- ),
- ),
- // Defining how the view scripts should be resolved by stacking up
- // a Zend\View\Resolver\TemplateMapResolver and a
- // Zend\View\Resolver\TemplatePathStack
- 'Zend\View\Resolver\AggregateResolver' => array(
- 'injections' => array(
- 'Zend\View\Resolver\TemplateMapResolver',
- 'Zend\View\Resolver\TemplatePathStack',
- ),
- ),
- // Defining where the layout/layout view should be located
- 'Zend\View\Resolver\TemplateMapResolver' => array(
- 'parameters' => array(
- 'map' => array(
- 'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
- ),
- ),
- ),
- // Defining where to look for views. This works with multiple paths,
- // very similar to include_path
- 'Zend\View\Resolver\TemplatePathStack' => array(
- 'parameters' => array(
- 'paths' => array(
- 'application' => __DIR__ . '/../view',
- ),
- ),
- ),
- // View for the layout
- 'Zend\Mvc\View\DefaultRenderingStrategy' => array(
- 'parameters' => array(
- 'layoutTemplate' => 'layout/layout',
- ),
- ),
- // Injecting the router into the url helper
- 'Zend\View\Helper\Url' => array(
- 'parameters' => array(
- 'router' => 'Zend\Mvc\Router\RouteStackInterface',
- ),
- ),
- // Configuration for the doctype helper
- 'Zend\View\Helper\Doctype' => array(
- 'parameters' => array(
- 'doctype' => 'HTML5',
- ),
- ),
- // View script rendered in case of 404 exception
- 'Zend\Mvc\View\RouteNotFoundStrategy' => array(
- 'parameters' => array(
- 'displayNotFoundReason' => true,
- 'displayExceptions' => true,
- 'notFoundTemplate' => 'error/404',
+ 'defaults' => array(
+ 'controller' => 'IndexController',
+ 'action' => 'index',
),
),
- // View script rendered in case of other exceptions
- 'Zend\Mvc\View\ExceptionStrategy' => array(
- 'parameters' => array(
- 'displayExceptions' => true,
- 'exceptionTemplate' => 'error/index',
+ ),
+ 'home' => array(
+ 'type' => 'Zend\Mvc\Router\Http\Literal',
+ 'options' => array(
+ 'route' => '/',
+ 'defaults' => array(
+ 'controller' => 'IndexController',
+ 'action' => 'index',
),
),
),
),
-);
+ 'controllers' => array(
+ 'IndexController' => 'Application\Controller\IndexController'
+ ),
+ 'view' => array(
+ 'display_not_found_reason' => true,
+ 'display_exceptions' => true,
+ 'not_found_template' => 'error/404',
+ 'exception_template' => 'error/index',
+ 'template_map' => array(
+ 'layout/layout' => __DIR__ . '/../view/layout/layout.phtml',
+ 'index/index' => __DIR__ . '/../view/index/index.phtml',
+ 'error/404' => __DIR__ . '/../view/error/404.phtml',
+ 'error/index' => __DIR__ . '/../view/error/index.phtml',
+ ),
+ 'template_path_stack' => array(
+ 'application' => __DIR__ . '/../view',
+ ),
+ ),
+ 'db' => array(
+ 'driver' => 'Pdo-Sqlite',
+ 'dbname' => 'path/to/data/database.sqlite'
+ )
+);
\ No newline at end of file
<?php
chdir(dirname(__DIR__));
require_once (getenv('ZF2_PATH') ?: 'vendor/ZendFramework/library') . '/Zend/Loader/AutoloaderFactory.php';
-Zend\Loader\AutoloaderFactory::factory();
-$appConfig = include 'config/application.config.php';
+use Zend\Loader\AutoloaderFactory,
+Zend\ServiceManager\ServiceManager,
+Zend\Mvc\Service\ServiceManagerConfiguration;
-$sharedEvents = new Zend\EventManager\SharedEventManager();
-$listenerOptions = new Zend\Module\Listener\ListenerOptions($appConfig['module_listener_options']);
-$defaultListeners = new Zend\Module\Listener\DefaultListenerAggregate($listenerOptions);
-$defaultListeners->getConfigListener()->addConfigGlobPath("config/autoload/*.php");
-
+// setup autoloader
+AutoloaderFactory::factory();
-$moduleManager = new Zend\Module\Manager($appConfig['modules']);
-$events = $moduleManager->events();
-$events->setSharedManager($sharedEvents);
-$events->attach($defaultListeners);
-$moduleManager->loadModules();
+// get application stack configuration
+$configuration = include 'config/application.config.php';
-// Create application, bootstrap, and run
-$bootstrap = new Zend\Mvc\Bootstrap($defaultListeners->getConfigListener()->getMergedConfig());
-$bootstrap->events()->setSharedManager($sharedEvents);
-$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();