我今天下午主要学习了thinkphp5.0的路由部分,我下面总结一下我主要学习到的知识点:
路由定义:
有两种方式:
(1).动态注册:
eg:
Route::rule('hello','index/index/hello','GET');
(2)配置式:
eg:
return [
'__pattern__' => [
'name' => '\w+',
],
'[hello]' => [
':id' => ['index/hello', ['method' => 'get'], ['id' => '\d+']],
':name' => ['index/hello', ['method' => 'post']],
],
];
请求类型:
类型 | 描述 |
---|---|
GET | GET请求 |
POST | POST请求 |
PUT | PUT请求 |
DELETE | DELETE请求 |
* | 任何请求类型 |
eg:
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'); // 所有请求都支持的路由规则
获取参数的方法 [三种 ]:
1).方法内变量的对应
public function hello($id,$name)
{
echo $id;
echo $name;
}
2).Request对象
Requeset::instance=>param();//获取所有参数[ 结果类型数组],不分请求类型;
Requeset::instance=>param('name');//获取单个参数[即:直接填写变量名即可];
Requeset::instance=>get();//获取?后面的参数;
Requeset::instance=>route();//获取路由里面的参数;
Requeset::instance=>post();//获取post请求参数
eg:
public function hello()
{
$res=Request::instance()->param();
var_dump($res);
}
依赖注入方式
public function hello(Request $request)
{
$res=$request->param();
var_dump($res);
}
3).使用input助手函数
input('param'); //获取所有结果数组
input('param.name'); //获取name
input('get.name'); //获取post方式
input('get.name'); //获取get方式