TP6.0 获取请求对象的五种方式
2024-09-02
16
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() 超级助手函数
更新于:9天前// app\Request 对象
$request1 = app('request');
// app\Request 对象
$request2 = app()->request;
// app\Request 对象
$request3 = app()->app->request;
dump($request1);
dump($request2);
dump($request3);
赞一波!
相关文章
- 腾讯云对象存储COS及CDN加速配置
- 阿里云对象存储OSS及CDN加速配置
- PHP通过CURL的方式读取图片接口输出乱码
- TP5.0、TP5.1、TP6.0 下载方式及环境要求
- Vue cli4 图片地址引入的几种方式
- PHP对象传值 - 引用传值
- 七牛云对象存储KoDo及CDN加速配置
- .NET C# new一个对象产生多少字节?
- Python 中的条件对象——线程同步
- Thread类及其对象——Python 多线程
- 计时器对象——Python 多线程
- C++ this指针:用于在成员函数中指向调用该函数的对象
- 多态性 - C++中实现运行时多态的方式
- C#中自定义class在调试时如何定制对象显示的内容
- Java导入Excel文件的实现方式
- Java执行Shell命令的方式
- 在Java中如何把两个对象相同属性赋值
- Java创建数组的多种方式
- TypeError: at / 'module' 对象在Python Rest_framework中不可调用
- 利用Java工具自动生成数据库表对应的JavaBean对象
文章评论
全部评论