匹配()和<一个href=”https://github.com/symfony/symfony/blob/2.2/src/Symfony/Component/Routing/Router.php" class="reference external" title="生成()”rel="external noopener noreferrer" target="_blank">生成()方法形成这种双向系统。取blog_show路线从先前的例子:

1 2 3 4 5 6 7 8
美元参数个数=美元- >get (“路由器”)- >匹配(/博客/我的博客帖子的);/ /数组(/ /“鼻涕虫”= >“我的博客帖子”,/ /“_controller”= >“AcmeBlogBundle:博客:显示”,/ /)美元uri=美元- >get (“路由器”)- >生成(“blog_show”,数组(“鼻涕虫”= >“我的博客帖子”));/ / /博客/我的博客帖子

生成一个URL,您需要指定路线的名称(如。blog_show)和任何通配符(如。蛞蝓=我的博客帖子)用于路由的路径。根据这些信息,任何URL可以很容易地生成:

1 2 3 4 5 6 7 8 9 10 11 12
MainController扩展控制器{公共函数showAction(美元鼻涕虫){/ /……美元url=美元- >generateUrl (“blog_show”,数组(“鼻涕虫”= >“我的博客帖子”));}}

请注意

在控制器扩展Symfony的基地欧宝娱乐app下载地址<一个href=”https://github.com/symfony/symfony/blob/2.2/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php" class="reference external" title="控制器”rel="external noopener noreferrer" target="_blank">控制器,你可以使用<一个href=”https://github.com/symfony/symfony/blob/2.2/src/Symfony/Bundle/FrameworkBundle/Controller/Controller.php" class="reference external" title="generateUrl ()”rel="external noopener noreferrer" target="_blank">generateUrl ()方法,该方法调用的服务的路由器<一个href=”https://github.com/symfony/symfony/blob/2.2/src/Symfony/Component/Routing/Router.php" class="reference external" title="生成()”rel="external noopener noreferrer" target="_blank">生成()方法。

在即将到来的一节中,您将了解如何从内部生成的url模板。

提示

如果您的应用程序的前端使用Ajax请求,您可能希望能够生成url在JavaScript中根据你的路由配置。通过使用<一个href=”https://github.com/FriendsOfSymfony/FOSJsRoutingBundle" class="reference external" rel="external noopener noreferrer" target="_blank">FOSJsRoutingBundle,你也可以这样做:

1 2 3 4
varurl = Routing.generate (“blog_show”,{“鼻涕虫”:“我的博客帖子”});

有关更多信息,请参见文档包。欧宝体育电话

绝对url也可以生成。

  • 嫩枝
  • PHP
1 2 3
<一个href={{url (blog_show,{“鼻涕虫”:“我的博客帖子”})}}>读这篇文章。< /一个>

这项工作,包括代码示例,许可下<一个rel="license" href="https://creativecommons.org/licenses/by-sa/3.0/">Creative Commons冲锋队3.0许可证。