title: The example of the official manual of Zend Framework 2 does not work apparently
body: <p>The example program of the Zend Framework 2 Manual, dated March 31 2015, is not working. Here is the code of the elementary part, which is a literal copy.</p>
  
  <p>I would like to know if anyone has used it, and if so, if it worked, and as it has.</p>
  
  <p>application.config.php:</p>
  
  <pre><code>&lt;?php
  /**
   * If you need an environment-specific system or application configuration,
   * there is an example in the documentation
   * @see http://framework.zend.com/manual/current/en/tutorials/config.advanced.html#environment-specific-system-configuration
   * @see http://framework.zend.com/manual/current/en/tutorials/config.advanced.html#environment-specific-application-configuration
   */
  return array(
      // This should be an array of module namespaces used in the application.
      'modules' =&gt; array(
          'Application',
          'Album',
      ),
  
      // These are various options for the listeners attached to the ModuleManager
      'module_listener_options' =&gt; array(
          // This should be an array of paths in which modules reside.
          // If a string key is provided, the listener will consider that a module
          // namespace, the value of that key the specific path to that module's
          // Module class.
          'module_paths' =&gt; array(
              './module',
              './vendor',
          ),
  
          // An array of paths from which to glob configuration files after
          // modules are loaded. These effectively override configuration
          // provided by modules themselves. Paths may use GLOB_BRACE notation.
          'config_glob_paths' =&gt; array(
              'config/autoload/{{,*.}global,{,*.}local}.php',
          ),
  
          // Whether or not to enable a configuration cache.
          // If enabled, the merged configuration will be cached and used in
          // subsequent requests.
          //'config_cache_enabled' =&gt; $booleanValue,
  
          // The key used to create the configuration cache file name.
          //'config_cache_key' =&gt; $stringKey,
  
          // Whether or not to enable a module class map cache.
          // If enabled, creates a module class map cache which will be used
          // by in future requests, to reduce the autoloading process.
          //'module_map_cache_enabled' =&gt; $booleanValue,
  
          // The key used to create the class map cache file name.
          //'module_map_cache_key' =&gt; $stringKey,
  
          // The path in which to cache merged configuration.
          //'cache_dir' =&gt; $stringPath,
  
          // Whether or not to enable modules dependency checking.
          // Enabled by default, prevents usage of modules that depend on other modules
          // that weren't loaded.
          // 'check_dependencies' =&gt; true,
      ),
  
      // Used to create an own service manager. May contain one or more child arrays.
      //'service_listener_options' =&gt; array(
      //     array(
      //         'service_manager' =&gt; $stringServiceManagerName,
      //         'config_key'      =&gt; $stringConfigKey,
      //         'interface'       =&gt; $stringOptionalInterface,
      //         'method'          =&gt; $stringRequiredMethodName,
      //     ),
      // ),
  
     // Initial configuration with which to seed the ServiceManager.
     // Should be compatible with Zend\ServiceManager\Config.
     // 'service_manager' =&gt; array(),
  );
  </code></pre>
  
  <p>Module.php:</p>
  
  <pre><code>&lt;?php
  
  namespace Album;
  
  use Zend\ModuleManager\Feature\AutoloaderProviderInterface;
  use Zend\ModuleManager\Feature\ConfigProviderInterface;
  
  class Module implements AutoloaderProviderInterface, ConfigProviderInterface {
  
      public function getAutoloaderConfig() {
          return array(
              'Zend\Loader\ClassMapAutoloader' =&gt; array(
                  __DIR__ . '/autoload_classmap.php',
              ),
              'Zend\Loader\StandardAutoloader' =&gt; array(
                  'namespaces' =&gt; array(
                      __NAMESPACE__ =&gt; __DIR__ . '/src/' . __NAMESPACE__,
                  ),
              ),
          );
      }
  
      public function getConfig() {
          return include __DIR__ . '/config/module.config.php';
      }
  
  }
  </code></pre>
  
  <p>module.config.php:</p>
  
  <pre><code>&lt;?php
  
  return array(
      'controllers' =&gt; array(
          'invokables' =&gt; array(
              'Album\Controller\Album' =&gt; 'Album\Controller\AlbumController',
          ),
      ),
  
  
      'router' =&gt; array(
          'routes' =&gt; array(
              'album' =&gt; array(
                  'type' =&gt; 'segment',
                  'options' =&gt; array(
                      'route' =&gt; '/album[/:action][/:id]',
                      'constraints' =&gt; array(
                          'action' =&gt; '[a-zA-Z][a-zA-Z0-9_-]*',
                          'id' =&gt; '[0-9]+',
                      ),
                      'defaults' =&gt; array(
                          '’controller' =&gt; 'Album\Controller\Album',
                          'action' =&gt; 'index',
                      ),
                  ),
              ),
          ),
      ),
      'view_manager' =&gt; array(
          'template_path_stack' =&gt; array(
              'album' =&gt; __DIR__ . '/../view',
          ),
      ),
  );
  </code></pre>
  
  <p>AlbumController.php:</p>
  
  <pre><code>&lt;?php
  
  namespace Album\Controller;
  
  use Zend\Mvc\Controller\AbstractActionController;
  use Zend\View\Model\ViewModel;
  
  class AlbumController extends AbstractActionController {
  
      public function indexAction() {
          return new ViewModel();
      }
  
      public function addAction() {
  
      }
  
      public function editAction() {
  
      }
  
      public function deleteAction() {
  
      }
  
  }
  </code></pre>
  
  <p>Then create the file and put in index.phtml a normal text.</p>
  
  <p>To load into the browser:</p>
  
  <p><a href="http://localhost/(name" rel="nofollow">http://localhost/(name</a> of project)/public/album</p>
  
  <p>Appear this error:</p>
  
  <blockquote>
    <p>Controller:
        not-found(resolves to invalid controller class or alias: not-found)</p>
  </blockquote>
  
  <p>Does anyone know what could happen?</p>