"Module (User) could not be initialized":Zend Framework 2 中的异常

"Module (User) could not be initialized" : Exception in Zend Framework 2

我已经下载了 Zend Framework 2 的骨架应用程序。然后我正在创建一个名为 "User" 的模块。

文件夹结构;

Module
  .....
  User
   config
      module.config.php
   src
      Controller
        UserController.php
      Model
        User.php
        UserTable.php
      Form
      Module.php
   view
      index.phtml
      ...

我在应用程序的 modules.config.php

中添加了 'User'
return [
  'Zend\Form',
  'Zend\Db',
  'Zend\Router',
  'Zend\Validator',
  'Application',
  'User',
];

我的Module.php代码如下;

<?php
 namespace User;

 use Zend\ModuleManager\Feature\ConfigProviderInterface;

class Module implements ConfigProviderInterface
{
public function getConfig()
{
    return include __DIR__ . '/../config/module.config.php';
}

public function getServiceConfig()
{
    return [
        'factories' => [

            Model\UserTable::class => function($container) {
                $tableGateway = $container->get(Model\UserTableGateway::class);
                return new Model\UserTable($tableGateway);
            },

            Model\UserTableGateway::class => function ($container) {
                $dbAdapter = $container->get(AdapterInterface::class);
                $resultSetPrototype = new ResultSet();
                $resultSetPrototype->setArrayObjectPrototype(new Model\User());
                return new TableGateway('user', $dbAdapter, null, $resultSetPrototype);
            },
        ],
    ];
}

public function getControllerConfig()
{
    return [
        'factories' => [
            Controller\UserController::class => function($container) {
                return new Controller\UserController(
                    $container->get(Model\UserTable::class)
                );
            },
        ],
    ];
}
}

里面composer.json

"autoload": {
    "psr-4": {
        "Application\": "module/Application/src/",
        "User\": "module/User/src/",
    }
},

但我收到错误 "Module (User) could not be initialized"。我是 Zend Framework 的新手。我认为 Module.php 有问题。我尝试了 Whosebug 中的所有答案。其中大部分表示 namespace 问题。但我想我已经给出了正确的。 能否请您指出问题,如果需要更多代码,请提出。

我假设您通过文件夹结构使用 PSR-4,我没有看到 Module.php,但它应该在 src 目录中。

此外,请确保您已将模块添加到 composer.json,与添加 Application 模块的方式相同:

"autoload": {
    "psr-4": {
        "Application\": "module/Application/src/",
        "User\": "module/User/src/",
    }
},

然后通过以下方式更新作曲家的自动加载文件:
$ php composer.phar dump-autoload

好的,解决了。问题是 "User\": "module/User/src/" 末尾的逗号 (,),在 composer.json