thinkphp6.0之初了解请求变量

本文介绍了ThinkPHP6.0中关于请求变量的使用,包括Request对象的全局变量检测、获取和安全过滤功能。重点讲解了has方法、param变量方法以及如何设置默认值、过滤字符。此外,还提到了only和except方法来选择性获取或排除变量,并介绍了变量修饰词进行类型转换。同时,文章也提及了Request对象的助手函数,简化了相关操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、请求变量

1、Request对象支持全局变量的检测、获取和安全过滤
2、使用has方法可以检测全局变量是否已经设置

Request::has('id', 'get'); 
Request::has('username', 'post');

3、Request支持的所有变量类型方法
在这里插入图片描述
4、param变量方法是自动识别GET、POST等的当前请求,推荐使用

//获取请求为name 的值,过滤 
Request::param('name'); 
//获取所有请求的变量,以数组形式,过滤 
Request::param(); 
//获取所有请求的变量(原始变量),不包含上传变量,不过滤 
Request::param(false); 
//获取部分变量 
Request::param(['name','age'])

5、默认情况下,并没用配置字符过滤器,可再app\Request.php配置

protected $filter=['htmlspecialchars'];

6、如果没用设置字符过滤器,或者局部用别 字符过滤器,可以通过第三参数

Request::param('name', '', 'htmlspecialchars'); 
Request::param('name', '', 'strip_tags,strtolower');

7、如果设置了全局字符过滤器,但是又不想某个局部使用,可以只用null

Request::param('name','',null);

8、如果获取不到值,支持请求的变量设置一个默认值

Request::param('name','默认值');

9、如果采用的是路由URL,也可以获取到变量,但是param::get()不支持路由变量

Request::param('id');
Request::route('id');
Request::get('id');

10、使用only方法可以获取指定的常量,也可以设置默认值

Request::only(['id','name']);
Request::only('id'=>1,'name'=>'默认值');

11、使用only方法,默认是param变量,可以再第二参数设置GET、POST等

Request:only(['id','name','post']);

12、相反的except方法,就是排除指定的变量

Request::except('id,name'); 
Request::except(['id','name']); 
Request::except(['id'=>1,'name'=>'默认值']); 
Request::except(['id','name'], 'post');

13、使用变量修饰词,可以讲参数强制转换成指定的类型
14、 /s(字符串)、/d(整型)、/b(布尔)、/a(数组)、/f(浮点)``

Request::param('id/d')

二、助手函数

1、简化操作,Request对象提供了助手函数

input('?get.id');
input('?post.name');
input('param.name');
input('param.name','默认值');
input('param.name','','htmlspacialchars');
input('param.id/d');
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值