<?php
return array(
- 'layout' => 'layouts/layout.phtml',
- 'display_exceptions' => false,
- 'di' => array(
+ 'di' => array(
+
+ 'definition' => array(
+ 'class' => array(
+ // Defining how the router should be instantiated. The minimum
+ // requirement is to implement interface
+ // Zend\Mvc\Router\RouteStack. Here we are stating that
+ // Zend\Mvc\Router\Http\TreeRouteStack::factory should generate
+ // an instance of it. This can be changed to instantiate a
+ // custom router
+ 'Zend\Mvc\Router\RouteStack' => array(
+ 'instantiator' => array(
+ 'Zend\Mvc\Router\Http\TreeRouteStack',
+ 'factory'
+ ),
+ ),
+ ),
+ ),
+
'instance' => array(
- 'alias' => array(
- 'index' => 'Application\Controller\IndexController',
- 'error' => 'Application\Controller\ErrorController',
- 'view' => 'Zend\View\PhpRenderer',
+
+ // 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',
+ ),
+ ),
+ 'Zend\Mvc\Controller\PluginBroker' => array(
+ 'parameters' => array(
+ 'loader' => 'Zend\Mvc\Controller\PluginLoader',
+ ),
),
- 'Zend\View\PhpRenderer' => array(
+
+ // Setup for router and routes
+ 'Zend\Mvc\Router\RouteStack' => array(
'parameters' => array(
- 'resolver' => 'Zend\View\TemplatePathStack',
- 'options' => array(
- 'script_paths' => array(
- 'application' => __DIR__ . '/../views',
+ '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',
+ ),
+ ),
),
),
),
),
- ),
- ),
- '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_-]*',
+
+ // 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',
),
- 'defaults' => array(
- 'controller' => 'index',
- 'action' => 'index',
+ ),
+ // 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',
),
),
- ),
- 'home' => array(
- 'type' => 'Zend\Mvc\Router\Http\Literal',
- 'options' => array(
- 'route' => '/',
- 'defaults' => array(
- 'controller' => 'index',
- 'action' => 'index',
+ // 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\RouteStack',
+ ),
+ ),
+ // 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',
+ ),
+ ),
+ // View script rendered in case of other exceptions
+ 'Zend\Mvc\View\ExceptionStrategy' => array(
+ 'parameters' => array(
+ 'displayExceptions' => true,
+ 'exceptionTemplate' => 'error/index',
),
),
),