ошибка трассировки стека в Zend Framework

Я установил скелетное приложение и рабочий образец тестового скелетного приложения. После этого мне нужно добавить структуру модуля в скелетное приложение Zend, которое показывает ошибку. Мой модуль Имя «Альбом».

module.php

<?php
//testzf2/module/Album/Module.php
namespace Album;

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

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

module.config.php

<?php
//testzf2/module/Album/config/module.config.php
return array(
'controllers' => array(
'invokables' => array(
'Album\Controller\Album' => 'Album\Controller\AlbumController',   // <----- Module Controller
),
),

// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'album' => array(
'type'    => 'segment',
'options' => array(
'route'    => '/album[/:action][/:id]',  // <---- url format module/action/id
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
'id'     => '[0-9]+',
),
'defaults' => array(
'controller' => 'Album\Controller\Album',  // <--- Defined as the module controller
'action'     => 'index',                   // <---- Default action
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
),
);
?>

Albumcontroller.php

<?php
//testzf2/module/Album/src/Album/Controller/AlbumComtroller.php
namespace Album\Controller;

use Zend\Mvc\Controller\AbstractActionController;

class AlbumController extends AbstractActionController
{
public function indexAction()
{
return array('valueA'=>555
,'propertyB'=>888);
}
}
?>

Я получаю сообщение об ошибке:

Fatal error: Uncaught exception 'Zend\ModuleManager\Exception\RuntimeException' with message 'Module (Application) could not be initialized.' in D:\xampp\htdocs\Zend\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php:195 Stack trace: #0 D:\xampp\htdocs\Zend\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php(169): Zend\ModuleManager\ModuleManager->loadModuleByName(Object(Zend\ModuleManager\ModuleEvent)) #1 D:\xampp\htdocs\Zend\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php(96): Zend\ModuleManager\ModuleManager->loadModule('Application') #2 [internal function]: Zend\ModuleManager\ModuleManager->onLoadModules(Object(Zend\ModuleManager\ModuleEvent)) #3 D:\xampp\htdocs\Zend\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(468): call_user_func(Array, Object(Zend\ModuleManager\ModuleEvent)) #4 D:\xampp\htdocs\Zend\vendor\zendframework\zendframework\library\Zend\EventManager\EventManager.php(207): Zend\EventMana in D:\xampp\htdocs\Zend\vendor\zendframework\zendframework\library\Zend\ModuleManager\ModuleManager.php on line 195

1

Решение

В сообщениях об ошибках говорится:

Модуль (приложение) не может быть инициализирован.

Так что это не имеет ничего общего с вашим модулем Альбом!
Я думаю, что ваш config / application.config.php имеет неправильные пути и / или ваш Module.php / config.module.php не является правильным в приложении

0

Другие решения

Ваш Module.php подпись не уважает Стандарт автозагрузки PSR и ZF2 Модуль Автозагрузчик не удалось инициализировать ваш модуль.

Попробуйте изменить имя класса Album от

<?php
namespace Album;

class Album
{

в

<?php
namespace Album;

class Module
{

Это должно работать.

0

По вопросам рекламы [email protected]