2013-06-23 23 views
5

Próbuję zacząć z ZF2 i mam problem podczas pisania kodu z samouczka (na stronie ZF). Mój kod:ZF2: Moduł nie mógł zostać zainicjowany

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', 
     ) 
    ), 
); 

Problem:

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 

Dlaczego jest to pokazane na początku? (w moim projekcie:/var/www/zend2 /). Jeśli usunę deklarację modułu z application.config.php, to działa poprawnie. Jaki jest mój problem? :/

+0

Również w systemie Linux należy sprawdzić uprawnienia do folderu modułu i właścicieli. –

Odpowiedz

9

O, rozwiązany!
W Module.php klasa musi mieć nazwę Module, a nie własną nazwę ...

+1

Sprawdź także przestrzeń nazw modułu. – Garry

Powiązane problemy