变量规则

变量规则

ThinkPHP5.0支持在规则路由中为变量用正则的方式指定变量规则,弥补了动态变量无法限制具体的类型问题,并且支持全局规则设置。使用方式如下:

全局变量规则

设置全局变量规则,全部路由有效:

// 设置name变量规则(采用正则定义)
Route::pattern("name","w+");
// 支持批量添加
Route::pattern([
    "name"  =>  "w+",
    "id"    =>  "d+",
]);

局部变量规则

局部变量规则,仅在当前路由有效:

// 定义GET请求路由规则 并设置name变量规则
Route::get("new/:name","News/read",[],["name"=>"w+"]);

如果一个变量同时定义了全局规则和局部规则,局部规则会覆盖全局变量的定义。

完整URL规则

如果要对整个URL进行规则检查,可以进行__url__ 变量规则,例如:

// 定义GET请求路由规则 并设置完整URL变量规则
Route::get("new/:id","News/read",[],["__url__"=>"new/w+$"]);
文章导航