1. Request请求操作
Laravel 框架提供了非常强大和灵活的 Request 类,可以处理所有 HTTP 请求。Request 类需要引入 Illuminate\Http\Request,同时赋值到控制器的构造方法中。
use Illuminate\Http\Request;
...
public function __construct(Request $request) {
$this->request = $request;
}
1.1. 获取GET请求参数
// 获取单个参数
$name = $this->request->get('name');
// 获取多个参数
$params = $this->request->only(['name', 'email']);
// 获取所有GET参数
$params = $this->request->query();
1.2. 获取POST请求参数
// 获取单个参数
$name = $this->request->input('name');
// 获取多个参数
$params = $this->request->only(['name', 'email']);
// 获取所有POST参数
$params = $this->request->all();
1.3. 判断请求类型
Request 类提供了几个判断请求类型的方法。
// 判断是否是GET请求
if ($this->request->isMethod('get')) {
// 执行操作
}
// 判断是否是POST请求
if ($this->request->isMethod('post')) {
// 执行操作
}
// 判断是否是PUT请求
if ($this->request->isMethod('put')) {
// 执行操作
}
// 判断是否是DELETE请求
if ($this->request->isMethod('delete')) {
// 执行操作
}
1.4. 判断请求包含某个参数
可以使用has方法来判断请求是否包含某个参数。
if ($this->request->has('name')) {
// 包含name参数
}
1.5. 获取当前请求路径
可以使用 path 方法获取当前请求路径。
$path = $this->request->path();
1.6. 处理上传文件
Request 类提供了 files 方法来处理上传文件。使用该方法前,需要将表单中的日期类型设置为 multipart/form-data。
public function uploadAvatar() {
$file = $this->request->file('avatar');
if ($file->isValid()) {
// 上传文件成功
}
}
1.7. 获取请求头信息
使用 header 方法可以获取请求头信息。
$userAgent = $this->request->header('user-agent');