ThinkPHP设置路由-动态批量注册(二)

ThinkPHP设置路由-动态批量注册:

       一、路由-动态批量注册

            1、基本格式
Route::rule([
'路由规则1'=>'路由地址和参数',
'路由规则2'=>['路由地址和参数','匹配参数(数组)','变量规则(数组)']
],'','请求类型','匹配参数(数组)','变量规则');

    2、使用
Route::rule([
"test"=>"index/index/test",
"course/:id"=>"index/index/course"
],'','get');


Route::get([
"test"=>"index/index/test",
"course/:id"=>"index/index/course"

]);

    二、路由-配置文件批量注册
        return [
         "test"=>"index/index/test",
        "course/:id"=>"index/index/course"

        ];

     三、变量规则
         // Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');
    // 设置路由参数id必须是数字,必须1-3位
    Route::rule("course/:id","index/index/course",'get',[],['id'=>'\d{1,3}'])

     四、路由参数
    // Route::rule('路由表达式','路由地址','请求类型','路由参数(数组)','变量规则(数组)');
    Route::rule("course/:id","index/index/course",'get',['method'=>'get','ext'=>'html'],['id'=>'\d{1,3}']);
    // 路由参数method 请求方式必须是get
    // 路由参数ext 主要设置路由的后缀

     五、资源路由
    1、声明
Route::resource('blog','index/blog');
    2、会自动注册七个路由规则
get         blog      index   # 后台展示
get           blog/create              create  # 添加页面
post         blog              save    # 增加操作
get           blog/:id            read    
get           blog/:id/edit            edit    # 修改页面
put           blog/:id            update  # 更新操作
delete      blog/:id            delete  # 删除操作

     六、设置快捷路由
    1、声明
Route::Controller('blog','index/blog');
    2、控制器中
namespace app\index\controller;

        class Blog{
public function  getindex(){
echo "我是bolg控制器index方法";
}

public function geta(){
echo "AAAAAAAA";
}
}

         3、URL访问
http://www.tp.com/blog/a
http://www.tp.com/blog/index

     七、生成url地址
    1、系统类
dump(Url::build('index/index/index'));
    2、系统方法
dump(url('index/index/index'));
    3、使用
// 普通url地址
dump(Url::build('index/index/index'));
dump(url('index/index/index'));
// 带参数url
dump(url('index/index/abc',['id'=>10,'name'=>"张三"]));
dump(url('index/index/abc','id=10&name=100'));
// string(45) "/index/abc/id/10/name/%E5%BC%A0%E4%B8%89.html"
// string(30) "/index/abc/id/10/name/100.html"
// 带锚点
dump(url('index/index/abc#name',['id'=>10,'name'=>"100"]));
// string(35) "/index/abc/id/10/name/100.html#name"
// 带域名
dump(url('index/index/abc#name@blog',['id'=>10,'name'=>"100"]));
// string(53) "http://blog.tp.com/index/abc/id/10/name/100.html#name"
// 加入口文件
Url::root('/index.php');
dump(url('index/index/abc#name@blog',['id'=>10,'name'=>"100"]));
// string(63) "http://blog.tp.com/index.php/index/abc/id/10/name/100.html#name"




猜你喜欢

转载自blog.csdn.net/shaoyanlun/article/details/80483756