在控制器中使用use MiddlewareControllerTrait;开启中间件支持

# 获取请求对象

通过 $this->request 获取请求对象(Request), 它是完全基于 PSR-7 标准实现的

TIP

注意 PSR-7 标准为 请求(Request) 进行了 immutable 机制 的设计,所有以 with 开头的方法的返回值都是一个新对象,不会修改原对象的值

# 获取用户输入

# 获取$_GET string类型数

$this->request->getString($name, $default = null)

# 获取$_POST string类型数据

$this->request->postString($name, $default = null)

# 获取refer string类型数据

$this->request->referString($name, $default = null)

# 获取$_REQUEST string类型数据

$this->request->requestString($name, $default = null)

# 获取$_GET int类型数据

$this->request->getInt($name, $default = null)

# 获取$_POST int类型数据

$this->request->postInt($name, $default = null)

# 获取refer int类型数据

$this->request->referInt($name, $default = null)

# 获取$_REQUEST int类型数据

$this->request->requestInt($name, $default = null)

# 获取$_GET bool类型数据

$this->request->getBool($name, $default = null)

# 获取$_POST bool类型数据

$this->request->postBool($name, $default = null)

# 获取$_REQUEST bool类型数据

$this->request->requestBool($name, $default = null)

# 获取refer bool类型数据

$this->request->referBool($name, $default = null)

# 获取请求信息

# 获取用户IP地址

$this->request->ip()

# 获取主机名称

$this->request->host()

# 获取基本地址

$this->request->baseUrl()

# 获取带全参数的url地址

$this->request->fullUrl()

# 判断是否为AJAX请求

$this->request->isAjax()

# 判断是否以cli方式运行

$this->request->isCli()

# 判断当前请求的是否为某类型

$this->request->isMethod()

# 文件

# 获取上传文件

$this->request->file()

# 检查文件是否存在

$this->request->hasFile()

# 保存文件

$myFile = $this->request->file('myfile');
$myFile->moveTo('/upload/path/myfile.png);

# 获取cookie

$this->request->cookie();//解密由框架加密后的cookie

# 判断cookie是否存在

$this->request->hasCookie() //判断解密由框架加密后的cookie是否存在

注意

cookie|hasCookie方法处理cookie的时候默认加密key使用的是配置中auth_key配置的key。所以如果有使用到请修改auth_key配置的key


# 获取未经处理的cookie数据

$this->request->getCookieParams()

# 获取请求Json数据

# 数组方式获取json数据

$this->request->json();//返回转换成array的结果
$this->request->json('data.id');//获取json中的子级数据

# 返回未经处理的json数据

$this->request->jsonRaw()