Merge remote-tracking branch 'ocramius/move-view-helpers-setup-to-module-config'
authorEvan Coury <me@evancoury.com>
Wed, 7 Mar 2012 07:45:14 +0000 (00:45 -0700)
committerEvan Coury <me@evancoury.com>
Wed, 7 Mar 2012 07:45:14 +0000 (00:45 -0700)
module/Application/Module.php
module/Application/config/module.config.php

index 4d0c318..d85f6cf 100644 (file)
@@ -39,8 +39,6 @@ class Module implements AutoloaderProvider
         $basePath     = $app->getRequest()->getBasePath();
         $locator      = $app->getLocator();
         $renderer     = $locator->get('Zend\View\Renderer\PhpRenderer');
-        $renderer->plugin('url')->setRouter($app->getRouter());
-        $renderer->doctype()->setDoctype('HTML5');
         $renderer->plugin('basePath')->setBasePath($basePath);
     }
 }
index fd748ee..7321cde 100644 (file)
@@ -1,20 +1,13 @@
 <?php
 return array(
     'di' => array(
-        'definition' => array(
-            'class' => array(
-                'Zend\Mvc\Router\RouteStack' => array(
-                    'instantiator' => array(
-                        'Zend\Mvc\Router\Http\TreeRouteStack',
-                        'factory'
-                    ),
-                ),
-            ),
-        ),
         'instance' => array(
-            // Inject the plugin broker for controller plugins into
+
+            // Setup for controllers.
+
+            // Injecting the plugin broker for controller plugins into
             // the action controller for use by all controllers that
-            // extend it.
+            // extend it
             'Zend\Mvc\Controller\ActionController' => array(
                 'parameters' => array(
                     'broker'       => 'Zend\Mvc\Controller\PluginBroker',
@@ -26,13 +19,57 @@ return array(
                 ),
             ),
 
-            // Setup the View layer
+            // Setup for router and routes
+            'Zend\Mvc\Router\RouteStack' => 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(
@@ -40,6 +77,8 @@ return array(
                     ),
                 ),
             ),
+            // 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(
@@ -47,22 +86,25 @@ return array(
                     ),
                 ),
             ),
-            'Zend\View\Renderer\PhpRenderer' => array(
+            // View for the layout
+            'Zend\Mvc\View\DefaultRenderingStrategy' => array(
                 'parameters' => array(
-                    'resolver' => 'Zend\View\Resolver\AggregateResolver',
+                    'layoutTemplate' => 'layout/layout',
                 ),
             ),
-            'Zend\Mvc\View\DefaultRenderingStrategy' => array(
+            // Injecting the router into the url helper
+            'Zend\View\Helper\Url' => array(
                 'parameters' => array(
-                    'layoutTemplate' => 'layout/layout',
+                    'router' => 'Zend\Mvc\Router\RouteStack',
                 ),
             ),
-            'Zend\Mvc\View\ExceptionStrategy' => array(
+            // Configuration for the doctype helper
+            'Zend\View\Helper\Doctype' => array(
                 'parameters' => array(
-                    'displayExceptions' => true,
-                    'exceptionTemplate' => 'error/index',
+                    'doctype' => 'HTML5',
                 ),
             ),
+            // View script rendered in case of 404 exception
             'Zend\Mvc\View\RouteNotFoundStrategy' => array(
                 'parameters' => array(
                     'displayNotFoundReason' => true,
@@ -70,36 +112,11 @@ return array(
                     'notFoundTemplate'      => 'error/404',
                 ),
             ),
-
-            // Setup the router and routes
-            'Zend\Mvc\Router\RouteStack' => array(
+            // View script rendered in case of other exceptions
+            'Zend\Mvc\View\ExceptionStrategy' => 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',
-                                ),
-                            ),
-                        ),
-                    ),
+                    'displayExceptions' => true,
+                    'exceptionTemplate' => 'error/index',
                 ),
             ),
         ),