TP6.0 获取请求对象的五种方式
2024-09-02
46
1. 门面类2. 依赖注入3. 框架提供的基础控制器的
request 属性" class="reference-link" target="_blank">3. 框架提供的基础控制器的
request
属性4. request() 助手函数5. app() 超级助手函数
think\Request
、think\facade\Request
、app\Request
之间的联系
官方手册原文
当前的请求对象由think\Request类负责,该类不需要单独实例化调用,通常使用依赖注入即可。在其它场合则可以使用think\facade\Request静态类操作。项目里面应该使用app\Request对象,该对象继承了系统的think\Request对象。
个人总结
请求信息本质上由think\Request类负责,但是使用的时候不应直接实例化调用。
要么使用 think\facade\Request 类静态调用,要么通过app\Request对象链式调用
1. 门面类
// app\Request 对象
$request = \think\facade\Request::instance();
dump($request);
2. 依赖注入
特别注意:注入的是 \think\Request,而不能是门面类 \think\facade\Request
public function save(\think\Request $request)
{
// app\Request 对象
dump($request);
}
request 属性" class="reference-link" target="_blank">3. 框架提供的基础控制器的 request
属性
继承基础控制器:BaseController.php
<?php
namespace app\controller;
use app\BaseController;
class User extends BaseController
{
public function index()
{
// app\Request 对象
$request = $this->request;
dump($request);
}
}
基础控制器构造方法
4. request() 助手函数
request() 助手函数返回 \app\Request
对象
// app\Request 对象
$request = request();
dump($request);
5. app() 超级助手函数
更新于:2个月前// app\Request 对象
$request1 = app('request');
// app\Request 对象
$request2 = app()->request;
// app\Request 对象
$request3 = app()->app->request;
dump($request1);
dump($request2);
dump($request3);
赞一波!
相关文章
- 【说站】python对象方法是什么
- 【说站】python类如何实例化对象
- 【说站】java如何创建对象
- 【说站】java反射获取对象的方法
- 【说站】java停止线程的方式
- 【说站】MySQL的五种索引类型极其特点
- 【说站】java反射创建对象
- 【说站】java如何创建对象数组
- 【说站】python导入类的不同方式
- 【说站】python列表排序的两种方式
- 【说站】php数组赋值方式
- 【说站】python vim中有哪些对象
- JS 函数中的 arguments 类数组对象
- CSS overflow 内容溢出时的显示方式
- GET 和 POST 请求方式的区别
- 禁止添加属性、封闭对象、冻结对象的 API
- 对象拷贝: 浅拷贝、深拷贝
- 初识: 对象的属性特征
- 通过工厂函数、构造函数创建对象
- Vue 的认识、特点介绍、安装方式
文章评论
评论问答