Laravel5.1 框架Request请求操作常见用法实例分析

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');

后端开发标签