路由
1.1 注册路由
最基础的注册方法:Route::rule(‘路由表达式’,‘路由地址’,‘请求类型’)。
请求类型:get(GET请求)、post(POST请求)、put(PUT请求)、delete(DELETE请求)、patch(PATCH请求)、*(任何请求类型)。
路由快捷注册方法:Route::快捷方法名(‘路由表达式’, ‘路由地址’)。
规则表达式的定义以 / 为参数分割符,每个参数中都可以包括动态参数可以使用 :变量 或者 <变量>,会自动绑定到操作方法的对应参数。变量用 [ ] 包含起来后就表示这个变量是路由匹配的可选变量,可选变量只能放在最后面,放在中间的话,它后面的所有参数都会变成可选变量。如果在路由参数最后加上 $ 的话,则会进行完全匹配。
1.2 在路由配置文件中
开启全局完全匹配:‘route_complete_match’ => true
强制路由:‘url_route_must’ => true (开启后,必须严格给每一个访问地址定义路由)
1.3 注册路由
1.3.1 ext:url后缀的检测,可以添加多个后缀,ext方法不传入任何值,表示不允许使用任何后缀访问。(使用:->ext(‘jpg|png|gif’))
1.3.2 deny_ext:url禁止后缀检测,可以添加多个后缀,添加后,添加的类型的后缀url禁止访问,denyExt方法不传入任何值,表示必须使用后缀访问。(使用:->denyExt(‘jpg|png|gif’))
1.3.3 https:检测是否https请求。(使用:->https())
1.3.4 domain:域名检测。(使用:->domain(‘www.test.com’))
1.3.5 complete_match:是否完整匹配路由。(使用:->completeMatch())
1.3.6 model:绑定模型。(使用:->model(’\app\index\model\User’))
1.3.7 cache:请求缓存。(使用:->cache(3600))
1.3.8 ajax:ajax检测。(使用:->ajax())
1.3.9 pjax:pjax检测。(使用:->pjax())
1.3.10 json:json检测。(使用:->json())
1.3.11 validate:绑定验证器类进行数据验证。
1.3.12 middleware:注册路由中间件。(使用:->middleware(\app\middleware\Test::class))
1.3.13 filter:请求变量过滤。(使用:->filter([ ‘type’ => 1,‘status’=> 1 ]))
1.4 资源路由
路由规则 | 请求类型 | 操作方法 |
---|---|---|
index | GET | index |
index/create | GET | create |
index | POST | save |
index/:id | GET | read |
index/:id/edit | GET | edit |
index/:id | PUT | update |
index/:id | DELETE | delete |
1.5 路由绑定
1.5.1 绑定到控制器/操作:Route::bind(‘index/hello’)
1.5.2 绑定到命名空间:Route::bind(’:\app\index\controller’)
1.5.3 绑定到控制器/操作:Route::bind(’\app\index\controller\hello’)