在Symfony2中调试路由

use*_*418 5 routing symfony

我无法弄清楚我的Symfony2路由YML文件中的单个路由有什么问题.其他每条路线工作得很好(我已经有几十条了),但这条路线拒绝被识别.

这是我的YML文件的相关剪辑:

ProjectMainBundle_util_initUpload:
    pattern:  /util/initUpload
    defaults: { _controller: ProjectMainBundle:Utilities:initUpload }
    requirements:
        _method:  POST

ProjectMainBundle_util_init:
    pattern:  /util/init
    defaults: { _controller: ProjectMainBundle:Utilities:initUtilities }
    requirements:
        _method:  POST

ProjectMainBundle_util_download:
    pattern:  /util/download
    defaults: { _controller: ProjectMainBundle:Utilities:download }
    requirements:
        _method:  GET
Run Code Online (Sandbox Code Playgroud)

第一个路由'/ util/initUpload'返回' 找不到"POST/util/initUpload"错误的路由.我已经尝试将块放在不同的位置(甚至将它移到'/ util/init'上面.)'/'索引路径位于我的routing.yml文件的末尾,所以这不应该是问题.上面的路由是唯一的格式为/ util/*的路由.

该路由用于处理表单和文件上传,但我认为这不重要.我已经删除了POST要求并直接在浏览器中对其进行了测试,这仍然给了我同样的错误.. camelCase应该不是问题.我有其他格式的路线,工作得很好......

我还缺少什么?关于如何调试这个的任何建议?我的下一步是废弃YML文件并使用php格式重写,但我真的不想这样做..

Eln*_*mov 20

有一个命令列出所有路线:

app/console router:debug
Run Code Online (Sandbox Code Playgroud)

如果您没有在那里看到您的路线,请先尝试清除缓存.如果没有帮助,请删除路径定义并再次手动重新键入 - 不要复制/粘贴.

PS它与YAML/PHP无关.

  • 从2.7版开始,不推荐使用"router:debug"命令,并且将在3.0中删除.请改用"debug:router". (7认同)
  • `debug:router`有效.谢谢@dotoree. (2认同)