变量规则

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

全局变量规则

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

  1. // 设置name变量规则(采用正则定义)
  2. Route::pattern('name','\w+');
  3. // 支持批量添加
  4. Route::pattern([
  5. 'name' => '\w+',
  6. 'id' => '\d+',
  7. ]);

局部变量规则

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

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

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

完整URL规则

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

  1. // 定义GET请求路由规则 并设置完整URL变量规则
  2. Route::get('new/:id','News/read',[],['__url__'=>'new\/\w+$']);