在 Sonata 项目中找到路由命中的控制器
Posted
技术标签:
【中文标题】在 Sonata 项目中找到路由命中的控制器【英文标题】:Find the controller that a route is hitting in a Sonata project 【发布时间】:2019-02-17 08:25:24 【问题描述】:我正在开发一个基于 Symfony 2.7 和 Sonata 管理包的项目。该项目使用包含“取消发布”步骤的工作流。我想修改那一步的逻辑。
运行app/console debug:router | grep unpublish
给了我这个:
admin_mycompany_app_video_unpublish ANY ANY ANY /admin/mycompany/app/video/id/unpublish/
...在我的代码库中搜索 admin_mycompany_app_video_unpublish
只会在 appDevDebugProjectContainerUrlMatcher.php
中找到以下内容:
return $this->redirect($pathinfo.'/', 'admin_mycompany_app_video_unpublish');
所以路线存在,但我似乎找不到它指向的控制器。
对于找到那个控制器有什么建议吗?
【问题讨论】:
试试grep -r unpublish src/ | grep Controller
。
app/console router:match /admin/exozet/app/video/123/unpublish
应该可以解决问题
【参考方案1】:
您可以在 VideoAdmin 的 getRoutes() 方法中找到它,它是根据命名约定动态计算的
对应的代码应该在VideoAdminController中。
希望对你有帮助
【讨论】:
以上是关于在 Sonata 项目中找到路由命中的控制器的主要内容,如果未能解决你的问题,请参考以下文章
未找到渲染 Sonata Admin Twig 文件的变量形式