本篇内容介绍了“怎么用php的Symfony框架设置路由”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!
一、路由作用
// src/AppBundle/Controller/BlogController.php namespace AppBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; class BlogController extends Controller { /** * Matches /blog exactly * * @Route("/blog", name="blog_list") */ public function listAction() { // ... } /** * Matches /blog/* * * @Route("/blog/{slug}", name="blog_show") */ public function showAction($slug) { // $slug will equal the dynamic part of the URL // e.g. at /blog/yay-routing, then $slug='yay-routing' // ... } }
这两条路由的作用是:
如果用户访问 /blog, 将会匹配第一条路由, 并执行listAction()
如果用户访问 /blog/*, 第二条路由将会被匹配到, showAction()方法被执行。因为路由是 /blog/{slug}, $slug变量会被传给showAction. 例如, /blog/yay-routing, $slug 会等于 yay-routing
这就是Symfony路由器的目的: 把URL映射到控制器。随着时间的推移, 会了解到所有的方法, 可以轻而易举地创建更复杂的路由。
二、设置路由步骤
1.应用配置都在 app/config 下,路由配置文件 app/config/routing.yml:
2.从注释中看出,路由定义有多种方式,比如YAML、XML、PHP文件等,这里采用的是annotation即注解的形式,直接在控制器中的action即动作函数上加注解@Route(),这样也好,省得单独维护一个路由文件,不过单独文件也有好处,所有路由列表清楚可见。
注意到app路由有前缀 prefix: /en,这个试了是不能省略的。
“怎么用php的Symfony框架设置路由”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注亿速云网站,小编将为大家输出更多高质量的实用文章!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。