ZEND zf2尝试调试未找到的控制器

时间:2015-03-05 16:13:03

标签: php zend-framework2

我找到404找不到控制器,我在调试时遇到了困难。

我将在Zend zf2中调试哪些内容以查看它实际需要的控制器?

错误是:

发生404错误 页面未找到。

请求的控制器无法映射到现有的控制器类。

控制器:     not-found(解析为无效的控制器类或别名:not-found)

没有例外

所以我的问题不是你找到我的问题,而是帮助m3找到ZEND我可以放断点的地方 - 帮助我学习调试ZEND正在做的事情。

在服务管理器和监听器以及自动加载器和工厂等之间...我发现ZEND非常复杂,我无法弄清楚在哪里放置断点并看看发生了什么 - 在这种情况下是什么控制器试图打开。

"教一个人钓鱼,而不是喂鱼人#34;。

由于

2 个答案:

答案 0 :(得分:1)

对于这个问题,我认为你不能使用断点。因为它在操作开始之前会出错,所以无法找到控制器。

当我面对这个问题时,我的解决方案。

  1. 检查控制器文件,如果它在文件和类定义和命名空间中都具有正确的名称。
  2. 检查module.config文件以获取路由和控制器定义。
  3. 如果您不使用自动加载器,请检查classmap文件。

答案 1 :(得分:0)

在你的一个路线中,你使用的是一个未在你的module.config.php中的'controllers'键下定义的控制器

例如,在此路线中有一个控制器'Application \ Controller \ Index':

'routes' => array(
        'home' => array(
            'type' => 'Zend\Mvc\Router\Http\Literal',
            'options' => array(
                'route'    => '/',
                'defaults' => array(
                    'controller' => 'Application\Controller\Index',
                    'action'     => 'index',
                ),
            ),
        ),

你必须创建一个控制器条目:

'controllers' => array(
    'invokables' => array(
        'Application\Controller\Index' => 'Application\Controller\IndexController'
    ),
),