3

私は Zend Framework 2 の初心者です。フォルダ構造を作成し、このページからコード スニペットを貼り付けましたhttp://framework.zend.com/manual/2.0/en/user-guide/routing-and-controllers.htmlについてZend Framework 2 でのルーティング。

次のエラーが表示されます。

( ! ) Fatal error: Class 'Album\Controller\AlbumController' not found in C:\wamp\www\zend\vendor\zendframework\zendframework\library\Zend\ServiceManager\AbstractPluginManager.php on line 178

以下は私のclassmap_autoload.phpです

<?php 
return array();

以下はModule.phpです

namespace Album;

class Module {
    public function getAutoloaderConfig(){
        return array(
            'Zend\Loader\ClassMapAutoloader' => array(
                __DIR__.'/autoload_classmap.php',
            ),
            'Zend\Loader\StandardAutoloader' => array(
                'namespace' => array(
                    __NAMESPACE__ => __DIR__.'/src/'.__NAMESPACE__,
                ),
            ),
        );
    }

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

}

私はAlbumControllerすでに自分のクラスを持っていますmodule/Album/ ここに画像の説明を入力

module.config.phpこれがアルバムモジュールからの私のものです:

<?php 

return array(
    'controllers' => array(
        'invokables' => array(
            'Album\Controller\Album' => 'Album\Controller\AlbumController',
        ),
    ),

     // 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]',
                    'constraints' => array(
                        'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                        'id'     => '[0-9]+',
                    ),
                    'defaults' => array(
                        'controller' => 'Album\Controller\Album',
                        'action'     => 'index',
                    ),
                ),
            ),
        ),
    ),

    'view_manager' => array(
        'template_path_stack' => array(
            'album' => __DIR__ . '/../view',
        ),
    ),
);

AlbumCONtroller.php

<?php


namespace Album\Controller;

use Zend\Mvc\Controller\AbstractActionController;
use Zend\View\Model\ViewModel;

class AlbumController extends AbstractActionController
{
    public function indexAction()
    {
    }

    public function addAction()
    {
    }

    public function editAction()
    {
    }

    public function deleteAction()
    {
    }
}

なぜこのようなエラーが発生するのかわかりません.ページをレンダリングする前にZend内で何が起こっているのかを知りたいのですが、この問題を解決する前に..どうすれば修正できますか?

4

2 に答える 2

11

Module.phpには(複数形で)'namespace' => arrayある必要がありますnamespaces

また、コードをhttps://github.com/zendframework/zf2-tutorialと比較することもできます

于 2013-02-02T14:54:28.193 に答える
0

私は現在、チュートリアルと統合された教義の使用で遊んでいます。ActionController の名前が魔法のようにAbstractActionController.

警告なしに。

編集 検査の結果、教義コードが古いことに気付いたので、代わりに貼り付けることで、コントローラー名が古くなっています。

于 2013-10-01T18:53:26.217 に答える