ThinkPHP基础-----第五章(路由相关)第三部分

2018-08-23  本文已影响4人  大菜鸟呀

1、变量规则:

    单参数:
    Route::rule('course/:id','Index/index/course','get','',['id'=>'\d{1,3}'])

    多参数:
    Route::rule('course/:id/:name','Index/index/course','get','',['id'=>'\d{1,3}','name'=>'\w+ '])

2、路由参数:

    Route::rule('course/:id/:name','Index/index/course','get',['method'=>'get','ext'=>'html'],['id'=>'\d{1,3}','name'=>'\w+ '])

    'method'=>请求类型;
    'ext'=>后缀;
    参数  说明
        method              请求类型检测,支持多个请求类型
        ext URL             后缀检测,支持匹配多个后缀
        deny_ext            URL禁止后缀检测,支持匹配多个后缀
        https               检测是否https请求
        domain              域名检测
        before_behavior     前置行为(检测)
        after_behavior      后置行为(执行)
        callback            自定义检测方法
        merge_extra_vars    合并额外参数
        bind_model          绑定模型(V5.0.1+)
        cache               请求缓存(V5.0.1+)
        param_depr          路由参数分隔符(V5.0.2+)
        ajax                Ajax检测(V5.0.2+)
        pjax                Pjax检测(V5.0.2+)

3、资源路由

    1、声明:
        Route::resource('blog','Index/Blog')

    2、设置以后会自动注册7个路由规则:
        标识      请求类型        生成路由规则      对应操作方法(默认)
        index   GET         blog            index
        create  GET         blog/create     create
        save    POST        blog            save
        read    GET         blog/:id        read
        edit    GET         blog/:id/edit   edit
        update  PUT         blog/:id        update
        delete  DELETE      blog/:id    delete
        -----------------------------
        具体指向的控制器由路由地址决定,例如上面的设置,会对应
        index模块的blog控制器,
        你只需要为Blog控制器创建以上对应的操作方法就可以支持下
        面的URL访问
        ------------
        http://serverName/blog/
        http://serverName/blog/128
        http://serverName/blog/28/edit

5、快捷路由:

    // 给User控制器设置快捷路由
        Route::controller('user','index/User');

    //定义User控制器
    namespace app\index\controller;

            class User {
                public function getInfo()
                {
                }

                public function getPhone()
                {
                }
                    }

    我们可以通过下面的URL访问:
        get http://localhost/user/info
        get http://localhost/user/phone
6、URL地址生成:
    在控制器中导入: use think\Url;

    <?php
        namespace app\index\controller;//声明命名空间

        use think\Url;
        //声明控制器
        class Urls{
        //index 方法
        public function index(){
            //系统类:
            dump(Url::build('Index/index/index'));
            //输出index控制器方法的路由地址


            //系统方法:
            dump(url('Index/index/index'))
   
        }
        }
    ?>
上一篇下一篇

猜你喜欢

热点阅读