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


ZEND zf2 trying to debug controller not found

我得到了一个404控制器找不到,我很难调试它。

在Zendzf2中,我将在哪里调试,看看它实际上在寻找什么控制器?

错误为:

出现404错误找不到页面。

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

控制器:找不到(解析为无效的控制器类或别名:找不到)

无异常可用

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

在服务管理器、侦听器、自动加载器和工厂等之间……我发现ZEND非常复杂,以至于我不知道在哪里放置断点,也不知道发生了什么——在这种情况下,它试图打开什么控制器。

"授人以渔,不授人以鱼"。

感谢

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

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

  1. 检查控制器文件是否在文件、类定义和命名空间中都有正确的名称
  2. 检查module.config文件中的路由和控制器定义
  3. 如果您没有使用自动加载器,请检查类映射文件

在您的一条路线中,您使用的控制器不是在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'
    ),
),