• 技术文章 >PHP >PHP教程

    php之Symfony框架设置路由

    小妮浅浅小妮浅浅2021-01-29 09:43:09原创4498

    路由对于框架的作用,我们已经在配置不同框架时了解到了。不过每个框架添加路由,发挥的作用还是有一些小区别的。以Symfony框架为例,主要是为了获取方法和创建相关的复杂路由。下面我们就Symfony框架设置路由的目的进行分析,然后就具体的设置步骤分享给大家。

    一、路由作用

    1

    2

    3

    4

    5

    6

    7

    8

    9

    10

    11

    12

    13

    14

    15

    16

    17

    18

    19

    20

    21

    22

    23

    24

    25

    26

    27

    28

    29

    30

    31

    // 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框架设置路由的方法,步骤上还是比较简单的,关键是理解设置路由的目的,这样才能更好的在实际中使用路由更多php学习指路:php教程

    专题推荐:php symfony框架
    上一篇:PHP中ThinkPHP的高级查询 下一篇:如何安装php的pcntl拓展?

    相关文章推荐

    • php中安装Zend框架• php Zend中搭建MVC• PHP中ThinkPHP的高级查询• php之Symfony框架是什么

    全部评论我要评论

    © 2021 Python学习网 苏ICP备2021003149号-1

  • 取消发布评论
  • 

    Python学习网