我在 Zend Framework 3应用程序:
中收到以下错误致命错误:未捕获Zend \ ModuleManager \ Exception \ RuntimeException:无法初始化Module(Serve)。
我知道有一些答案,但似乎没有人指向zf3,我已经扫描过它们而没有回答。我似乎无法通过研究找到答案。
我的应用程序可能没有加载模块吗?我已经修改了应用程序配置,因此它可能不会加载模块本身。
我有一个文件夹结构:
- module
-Serve
-src
-Module.php
-Controller
-IndexController.php
-config
-module.config.php
-view
我将模块添加到/config/application.config.php
内的modules数组中。
这是我的module.config.php
namespace Serve;
return array(
'controllers' => array(
'invokables' => array(
'Serve\Controller\Index' => 'Serve\Controller\IndexController',
),
),
// The following section is new and should be added to your file
'router' => array(
'routes' => array(
'serve' => array(
'type' => 'segment',
'options' => array(
'route' => '/srv[/:action]',
'constraints' => array(
'action' => '[a-zA-Z][a-zA-Z0-9_-]*'
),
'defaults' => array(
'controller' => 'Serve\Controller\Index',
'action' => 'index',
),
),
),
),
),
'view_manager' => array(
'template_path_stack' => array(
'album' => __DIR__ . '/../view',
),
'strategies' => array(
'ViewJsonStrategy',
),
),
);
这是我的Serve\Module.php
文件:
<?php
namespace Serve;
class Module
{
public function getConfig()
{
return include __DIR__ . '/../config/module.config.php';
}
}
我的Application\Module.php
中有一堆业务逻辑,但是没有任何东西可以破坏加载模块。
我似乎无法通过研究找到答案。这可能有什么问题?
答案 0 :(得分:4)
您是否已将模块添加到自动装带器? https://github.com/zendframework/ZendSkeletonApplication/blob/master/composer.json#L23
在ZF2中,我们曾经通过Module类自动加载任何东西,现在我们可以在composer中完成它,这更容易并允许选项,如--optimize(生成类映射)和--classmap-authoritative(do不加载类图外的任何类。)
编辑composer.json文件后,不要忘记编写器dumpautoload:)