路由

编辑本页

管理类。

管理类包含两个路由方法:

  • getRoutes ():返回可用的路由;
  • generateUrl(名称,选择美元):生成相关路由。

generateBaseRouteName ()方法。管理类。这代表了路由前缀,一个下划线和动作名将被添加到其中,以生成实际的路由名称:

12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src / Admin / PostAdmin.php最后PostAdmin扩展AbstractAdmin受保护的函数generateBaseRouteName(保龄球isChildAdmin= false)字符串返回“sonata_post”;}//将导致命名为:/ / sonata_post_list/ / sonata_post_create/ /等。/ /……

请注意

这是内部的的名字给定路由(它与路由的可见性无关)URL).

默认情况下,管理员将根据以下格式为您生成路由名称:'admin_vendor_bundlename_entityname',因此您将为您的操作生成路由名称,如'admin_vendor_bundlename_entityname_list'。

如果管理员无法为您的Admin类找到baseRouteNameRuntimeException将与相关消息一起抛出。

如果admin类是另一个admin类的子类,则路由名将以父路由名作为前缀,例如:

1 2 3 4 5 6 7 8 9 10
/ / src / Admin / PostAdmin.php//父类最后PostAdmin扩展AbstractAdmin受保护的函数generateBaseRouteName(保龄球isChildAdmin= false)字符串返回“sonata_post”;}}
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16
/ / src / Admin / CommentAdmin.php//子admin类最后CommentAdmin扩展AbstractAdmin受保护的函数generateBaseRouteName(保龄球isChildAdmin= false)字符串返回“评论”;}//将导致命名为:/ / sonata_post_comment_list/ / sonata_post_comment_create/ /等。/ /……

管理类。只有Admin路由可以通过这种方式注册。

以这种方式定义的路由是在Admin的上下文中生成的,并且惟一需要的参数是add ()是动作名。第二个参数可用于定义要附加到的URL格式baseRoutePattern,如果没有显式设置,默认为动作名:

12 3 4 5 6 7 8 9 10 11 12
/ / src / Admin / MediaAdmin.php使用奏鸣曲AdminBundle路线RouteCollectionInterface最后MediaAdmin扩展AbstractAdmin受保护的函数configureRoutes(RouteCollectionInterface集合无效集合->add (“myCustom”);//操作被自动添加集合->add (“视图”->getRouterIdParameter()。“/视图”);}}

此工作,包括代码示例,是根据<一个rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/">创作共用BY-SA 3.0许可证。