在 Sonata 项目中找到路由命中的控制器

Find the controller that a route is hitting in a Sonata project

我正在开发一个基于 Symfony 2.7 和 Sonata admin bundle 的项目。该项目使用包含 "unpublish" 步骤的工作流程。我想修改那一步的逻辑。

运行 app/console debug:router | grep unpublish 给我这个:

admin_mycompany_app_video_unpublish                                 ANY      ANY    ANY  /admin/mycompany/app/video/{id}/unpublish/

... 并在我的代码库中搜索 admin_mycompany_app_video_unpublishappDevDebugProjectContainerUrlMatcher.php 中仅找到以下内容:

return $this->redirect($pathinfo.'/', 'admin_mycompany_app_video_unpublish');

所以路线存在,但我似乎无法找到它指向的控制器。

找到那个控制器有什么建议吗?

您可以在 VideoAdmin 的 getRoutes() 方法中找到它,它是根据命名约定动态计算的

对应的代码应该在VideoAdminController中。

希望对你有帮助