路由闭包
我们可以使用闭包的方式定义一些特殊需求的路由,而不需要执行控制器的操作方法了,例如:
Route::get('read',function (){
return 'www.qipa250.com';
});
参数传递
闭包定义的时候支持参数传递,例如:
Route::get('read/:city', function ($city) {
return 'Welcome to '.$city;
});
http://mac.tp6.com/read/beijing
传递多个参数,规则路由中定义的动态变量的名称 就是闭包函数中的参数名称,不分次序。
Route::get('member/:name/:age', function ($age,$name) {
return ' name='.$name.',age='.$age;
});
http://mac.tp6.com/member/qipa/250
路由参数
路由分组及规则定义支持指定路由参数,这些参数主要完成路由匹配检测以及后续行为。
路由参数可以在定义路由规则的时候直接传入(批量),推荐使用方法配置更加清晰。
参数 | 说明 | 方法名 |
---|---|---|
ext | URL后缀检测,支持匹配多个后缀 | ext |
deny_ext | URL禁止后缀检测,支持匹配多个后缀 | denyExt |
https | 检测是否https请求 | https |
domain | 域名检测 | domain |
complete_match | 是否完整匹配路由 | completeMatch |
model | 绑定模型 | model |
cache | 请求缓存 | cache |
ajax | Ajax检测 | ajax |
pjax | Pjax检测 | pjax |
json | JSON检测 | json |
validate | 绑定验证器类进行数据验证 | validate |
append | 追加额外的参数 | append |
middleware | 注册路由中间件 | middleware |
filter | 请求变量过滤 | filter |
qipa控制器代码
<?php
namespace app\controller;
use app\BaseController;
use think\facade\Request;
class Qipa extends BaseController
{
public function index()
{
return '我是奇葩控制器'