2013-06-23 3 views
5

Я пытаюсь начать работу с ZF2, и у меня есть проблема, когда я пишу код из учебника (на веб-сайте ZF). Мой код:ZF2: модуль не может быть инициализирован

Module.php: 
<?php 
namespace About; 

class About 
{ 
    public function getAutoloaderConfig() 
    { 
     return array(
      'Zend\Loader\ClassMapAutoloader' => array(
       __DIR__ . '/autoload_classmap.php', 
      ), 
      'Zend\Loader\StandardAutoloader' => array(
       'namespaces' => array(
        __NAMESPACE__ => __DIR__ . '/src/' . __NAMESPACE__, 
       ), 
      ), 
     ); 
    } 

    public function getConfig() 
    { 
     return include __DIR__ . '/config/module.config.php'; 
    } 
} 
?> 

config/module.config.php: 

<?php 
return array(
    'controllers' => array(
     'invokables' => array(
      'About\Controller\About' => 'About\Controller\AboutController', 
     ), 
    ), 

    'router' => array(
     'routes' => array(
      'album' => array(
       'type'  => 'segment', 
       'options' => array(
        'route'  => '/about[/:action][/:id]', 
        'constraints' => array(
         'action' => '[a-zA-Z][a-zA-Z0-9_-]*', 
         'id'  => '[0-9]+', 
        ), 
        'defaults' => array(
         'controller' => 'About\Controller\About', 
         'action'  => 'index', 
        ), 
       ), 
      ), 
     ), 
    ), 

    'view_manager' => array(
     'template_path_stack' => array(
      'about' => __DIR__ . '/../view', 
     ) 
    ), 
); 

Проблема:

Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (About) could not be initialized.' in /var/www/zend2/vendor/zendframework/zendframework/library/Zend/ModuleManager/ModuleManager.php on line 175 

Почему это показано на старте? (в моем проекте:/var/www/zend2 /). Если я удалю декларацию модуля с application.config.php, все будет хорошо. В чем моя проблема? :/

+0

Также в linux вы должны проверить права доступа и владельцы папок модуля. –

ответ

9

Ouch, resolved!
В Module.php класс должен быть назван Module, не собственное имя ...

+1

Также проверьте пространство имен модуля. – Garry