tp5.1框架学习之路由

路由:就是用户访问提前规定的控制器和方法,进行业务处理


tp默认提供了两种路由规则
1.pathinfo模式
2.自定义路由规则模式[推荐]

tp5.1的路由定义更加对象化,并且默认开启路由(不能关闭),如果一个url没有定义路由,则默认采用pathinfo模式访问
 


路由的相关配置解释

// 是否强制使用路由
'url_route_must'         => false,
注:将开启强制使用路由,这种方式下面必须严格给每一个访问地址定义路由规则(包括首页),否则将抛出异常
开发时两种路由模式尽量只使用一种,当然你可以选择混合模式


// 路由是否完全匹配
'route_complete_match'   => false,
注:如果是自定义路由,那么设置为true

// 是否开启路由缓存
'route_check_cache'      => false,
注:如果路由定义中,有某个路由规则的路由地址使用了闭包的方式,那么路由缓存将会失效。


定义路由

Route::请求方式('路由表达式',匿名函数);
Route::请求方式('路由表达式','[@]模块名/控制器名/方法名');  # 后讲到控制器时使用
注:给控制器方法设置好了请求的路由规则后,原来的pathinfo请求则失效,
请求就会报异常,只能通过自定义路由规则来请求

tp5.1框架学习之路由_第1张图片

tp5.1框架学习之路由_第2张图片
查看已经定义的路由

php think route:list


tp5.1框架学习之路由_第3张图片


请求类型

Route::get('new/:id','News/read');      // 定义GET请求路由规则    查询

Route::post('new/:id','News/update');    // 定义POST请求路由规则   添加

Route::put('new/:id','News/update'); // 定义PUT请求路由规则    修改

Route::delete('new/:id','News/delete'); // 定义DELETE请求路由规则 删除

Route::any('new/:id','News/read');      // 所有请求都支持的路由规则  框架提供 不推荐

 


路由参数

# 必填参数
Route::请求方式('路由表达式/:参数',匿名函数);

# 可选参数
Route::请求方式('路由表达式/[:参数]',匿名函数);

tp5.1框架学习之路由_第4张图片
tp5.1框架学习之路由_第5张图片
 


路由分组
 

Route::group('admin', function () {

    Route::get('login/:id', function ($id = 0){
        return '这是登录模块'.$id;
    });

    Route::post('users/:id', function ($id = 0){
        return '这是用户模块';
    });

    Route::delete('admins/:id', function (){
        return '这是管理员模块';
    });

})->pattern(['id' => '\d+']);

tp5.1框架学习之路由_第6张图片
路由还支持嵌套
tp5.1框架学习之路由_第7张图片
tp5.1框架学习之路由_第8张图片
 


 

你可能感兴趣的:(Other)