在网址中传递控制器和操作

时间:2017-01-27 16:30:50

标签: php routing symfony

是否可以生成包含控制器和操作的url?

我需要有类似这样的网址:

/admin/{controller}/{action}/{some other things}

所以当我拨打网址时:/admin/pages/add我会致电:AdminBundle:Pages:add 因此,我无需在管理面板中为所有控制器和操作组合添加routing.yml个条目,例如:

/admin/page/add
/admin/page/edit/1
/admin/user/add
etc.

我知道,当我添加这样的路由时:

admin_default:
    path:     /{_controller}
    defaults: { _controller: AdminBundle:Page:index }

/admin/AdminBundle:Page:add之类的网址会有用,但这不符合我的预期。

2 个答案:

答案 0 :(得分:0)

您可以在EsayAdminBudle中找到此功能的示例:

list *mylist;
init_list(&mylist);

但代码可能很复杂,因为有很多抽象。

答案 1 :(得分:0)

试试这个,@路由并将其与行动相关联

 /**
 * @Route("/home/list/parameter", name="home-list-parameter")
 * @Method({"POST"})
 */
  public function getParametersAction() {
  ...

http://symfony.com/doc/3.1/routing.html