3

Zend Framework 3 アプリケーションで次のエラーが表示されます。

致命的なエラー: キャッチされていない Zend\ModuleManager\Exception\RuntimeException: モジュール (サーブ) を初期化できませんでした。

いくつかの回答があることは承知していますが、どれも zf3 を指していないようで、すでに回答なしでスキャンしています。私は研究を通して答えを見つけることができないようです。

アプリケーションがモジュールをロードしていない可能性はありますか? アプリケーション構成を少し変更したので、モジュール自体がロードされていない可能性があります。

私はフォルダ構造を持っています:

- module
   -Serve
      -src
         -Module.php
         -Controller
            -IndexController.php
      -config
         -module.config.php
      -view

内のモジュール配列にモジュールを追加しました/config/application.config.php

これが私の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モジュールのロードを妨げるものは何もありません。

私は研究を通して答えを見つけることができないようです。ここで何が問題なのですか?

4

1 に答える 1

6

モジュールをオートローダーに追加しましたか? https://github.com/zendframework/ZendSkeletonApplication/blob/master/composer.json#L23

ZF2 では、Module クラスを介してほとんどすべてをオートロードしていましたが、今では Composer で行うことができます。これはより簡単で、 --optimize (クラスマップを生成する) や --classmap-authoritative (何もロードしない) などのオプションを使用できます。クラスマップ外のクラス)。

composer.json ファイルを編集した後は忘れずに composer dumpautoload してください:)

于 2016-11-23T22:12:59.440 に答える