Symfonyob娱乐下载 3.4新增功能:前缀所有控制器路由名
2017年9月6日·发表的哈维尔Eguiluz
警告:这篇文章是关于一个不受支持的Symfony版本。ob娱乐下载有些信息可能已经过时了。阅读最新的Symfony文档ob娱乐下载.
在Syob娱乐下载mfony应用程序中,控制器的类可以定义@Route
注释为action方法使用的url设置一个公共前缀:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;/ * * *@Route(" /博客”)* /类BlogController扩展控制器{/ * * *@Route(“/”,默认={“页面”:“1”},name = " blog_index ") *@Route("/page/{page}", name="blog_index_paginated") */公共函数indexAction($页面,$_format){…}/ * * *@Route("/posts/{slug}", name="blog_post") */公共函数showAction(文章$帖子){…}}
类的URL指数
行动将是/博客/
而且/博客/页面/…
的URL显示
行动将是/博客/文章/…
.
正如您在本例中所看到的,对单个控制器的路由使用一致的命名也是一种常见的做法(blog_index
,blog_post
等)这就是为什么在Symfony 3.4中,ob娱乐下载我们改进了@Route ()
注释还允许定义控制器路由名的公共部分。
添加一个的名字
属性@Route
控制器类的注释,它将被视为所有路由名的前缀。下面的示例与前面的示例相同:
12 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
使用Sensio赞助\包\FrameworkExtraBundle\配置\路线;/ * * *@Route("/blog", name="blog_") */类BlogController扩展控制器{/ * * *@Route("/", defaults={"page": "1"}, name="index") *@Route("/page/{page}", name="index_paginated") */公共函数indexAction($页面,$_format){…}/ * * *@Route("/posts/{slug}", name="post") */公共函数showAction(文章$帖子){…}}
发表在#生活在边缘
评论
我现在明白你了:)是的,在生成路由时不可能跳过前缀。它看起来和感觉起来都有点“神奇”。我想在这些情况下最好是明确的,即使你需要多输入一点。
劳尔开办Continente
2017年9月6日说在还剩11分08秒
太酷了!
但是,从一个小树枝文件,IDE能够带您到路由定义吗?
但是,从一个小树枝文件,IDE能够带您到路由定义吗?
丹尼尔Espendiller
2017年9月6日说在17:27
@Raúl遵循IDE / PhpStorm实现见https://github.com/Haehnchen/idea-php-symfony2-plugin/issues/101ob娱乐下载7
Zuhayer Tahir
2017年9月7日说在06:45
我都等不及要试一试了!
Wim Winterberg
2017年9月7日说在13
这真是太好了!干得好!!
迈克尔COULLERET
2017年9月7日说在15:56
为什么不。
评论截止。
为了确保评论保持相关性,旧帖子将被关闭。
如果有,在哪里?如何避免混淆?
谢谢!
Javier Eguiluz is a certified Symfony engineer.
Get certified! Online exams available in all countries.
Register Now