Zend framework2 ZF2:Zend framework 2.2控制器未找到错误

Zend framework2 ZF2:Zend framework 2.2控制器未找到错误,zend-framework2,Zend Framework2,我正在尝试在Zend Skeleton应用程序中创建新模块。我正在学习Zend framework关于Album模块的入门教程。唯一的区别是我使用的是项目名称而不是相册。这是我的模块结构 module.config.php的内容如下所示 <?php namespace Project; return array( 'router' => array( 'routes' => array( 'project' => array(

我正在尝试在Zend Skeleton应用程序中创建新模块。我正在学习Zend framework关于Album模块的入门教程。唯一的区别是我使用的是项目名称而不是相册。这是我的模块结构

module.config.php
的内容如下所示

<?php
namespace Project;

return array(
  'router' => array(
    'routes' => array(
        'project' => array(
            'type' => 'segment',
            'options' => array(
                'route' => '/project[/:action][/:id]',
                'contraints' => array(
                    'action' => '[a-zA-Z][a-zA-Z0-9_-]*',
                    'id' => '[0-9]+'
                ),
                'defaults' => array(
                    'controller' => __NAMESPACE__.'/Controller/'.__NAMESPACE__,
                    'action' => 'index'
                )
            )
        )
    )
  ),
  'controllers' => array(
    'invokables' => array(
        'Project/Controller/Project' => 'Project/Controller/ProjectController',
    )
  ),
  'view_manager' => array(
    'template_path_stack' => array(
        'project' => __DIR__ . '../view',
    )
  ),
);
<?php
namespace Project;

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

    public function getConfig()
    {
        return include __DIR__ . '/config/module.config.php';
    }
}
文件
autoload_classmap.php
只返回一个空数组

<?php
return array()
当我查看
AbstractPluginManager.php
文件时,第170行包含
$instance=new$invokable()

我转储了
$invokable
变量以查看它的值。它返回字符串(36)“项目/控制器/项目控制器”

不知何故,ZF2无法找到该文件。能找个人帮忙吗?谢谢

编辑:这里是
ProjectController.php
文件的内容。如果它能找到该文件,它将死亡,并显示该文件的名称

<?php
namespace Project\Controller;

die(__FILE__);

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

class ProjectController extends AbstractActionController
{
    public function indexAction()
    {
        return array();
//        return new ViewModel();
    }
}
?>

你需要在那个上面用反斜杠! 所有名称空间都用反斜杠声明。这可能就是AbstractPluginManager找不到您的ProjectController;)的原因

这里也一样

你需要在那个上面用反斜杠! 所有名称空间都用反斜杠声明。这可能就是AbstractPluginManager找不到您的ProjectController;)的原因

此处相同

检查您的:

ProjectController.php

//必须像下面那样声明类

class ProjectController extends AbstractActionController
检查您的:

ProjectController.php

//必须像下面那样声明类

class ProjectController extends AbstractActionController

似乎它检测到了该文件,但没有在其中找到正确的类。检查类名和命名空间是否正确。更新的问题内容为
ProjectController
,看起来您在module.config.phpSeems中的defaults和invokables键中使用了错误的斜杠,好像它检测到了该文件,但没有在其中找到正确的类。检查类名和名称空间是否正确。更新了
ProjectController
内容的问题看起来您在module.config.phpYes中的defaults和invokables键中使用了错误的斜杠,我也认为这可能是问题所在。我今晚会查的。@Tounu什么反斜杠?我有点困惑->您的示例似乎没有使用反斜杠?@traditional您能解决这个问题吗?我有完全相同的问题…@Dannyboy,因为这不是一个例子:p。你必须在我引用的代码中使用反斜杠。好吧,在我的例子中,错误是一样的,但结果不是反斜杠。我在互联网上到处搜索,试图找到一个没有用的答案,但后来无意中注意到模块的代码文件夹权限显示为“??”在候机楼。因为我用流浪者来发展,我只是做了“流浪者毁灭”;vagrant up'->已正确装入代码文件夹。愚蠢的狗屎。是的,我也认为这可能是问题所在。我今晚会查的。@Tounu什么反斜杠?我有点困惑->您的示例似乎没有使用反斜杠?@traditional您能解决这个问题吗?我有完全相同的问题…@Dannyboy,因为这不是一个例子:p。你必须在我引用的代码中使用反斜杠。好吧,在我的例子中,错误是一样的,但结果不是反斜杠。我在互联网上到处搜索,试图找到一个没有用的答案,但后来无意中注意到模块的代码文件夹权限显示为“??”在候机楼。因为我用流浪者来发展,我只是做了“流浪者毁灭”;vagrant up'->已正确装入代码文件夹。愚蠢的狗屎。
'defaults' => array(
 'controller' => __NAMESPACE__.'/Controller/'.__NAMESPACE__,
'action' => 'index'
)
class ProjectController extends AbstractActionController