ThinkPHP 变量&变量过滤

ThinkPHP中传统方式获取变量外,也可以使用thinkphp提供的更加方便和安全的获取系统,输入变量。

I('变量类型.变量名/修饰符',['默认值'],['过滤方法'],['额外数据源'])
变量类型 
get 获取GET参数
post    获取POST参数
param   自动判断请求类型获取GET、POST或者PUT参数
request 获取REQUEST 参数
put 获取PUT 参数
session 获取 $_SESSION 参数
cookie  获取 $_COOKIE 参数
server  获取 $_SERVER 参数
globals 获取 $GLOBALS参数
path    获取 PATHINFO模式的URL参数
data    获取 其他类型的参数,需要配合额外数据源参数

注意:变量类型不区分大小写。 
变量名则严格区分大小写。 
默认值和过滤方法均属于可选参数。

ThinkPHP 获取get post参数:
I(‘get.id’) GET方式
I(‘post.id’) POST方式
I(‘id’) param 自动区分GET POST方法 类似于PHP中的$_REQUEST

I(‘get.’) / I(‘post.’) 返回输入参数的数组集合

I(‘path.1’) I(‘path.2’) 对访问的URL或者传入的GET参数进行分割

I(‘id’,’default_value’);参数2 为默认值设置 如果不填则返回默认值

I(‘id’,’default_value’,’function_name’);参数3为进行验证过滤的方法名字,在变量时数组的情况下会自动使用array_map进行过滤处理,否则会调用PHP内置的filter_var方法进行处理

I('post.email','error email',FILTER_VALIDATE_EMAIL);
FILTER_VALIDATE_EMAIL PHP自带的验证

I('age',0,'int');
ThinkPHP 验证支持列别
int
boolean
float
validate_regexp
validate_url
validate_email
validate_ip
string
stripped
encoded
special_chars
unsafe_raw
email
url
number_int
number_float
magic_quotes
callback 

正则验证

// 采用正则表达式进行变量过滤
I('get.name','','/^[A-Za-z]+$/');
I('get.id',0,'/^\d+$/');

变量过滤 验证
ThinkPHP默认的验证方式是 htmlspecialchars 。在thinkphp Conf/convention.php进行配置

'DEFAULT_FILTER'        =>  'htmlspecialchars'// 默认参数过滤方法 用于I函数

支持做方法过滤
'DEFAULT_FILTER'        =>  'htmlspecialchars,strip_tags'
逗号隔开 增加多种规则过滤

如果使用I方法时指定了过滤方法,就会忽略DEFAULE_FILTER设置

关闭DEFAULT_FILTER验证

I('get.name','','');
I('get.id','',false);

变量修饰符
I(‘变量类型.变量名/修饰符’);

I('get.id/d');
I('post.name/s');
I('post.ids/a');

修饰符 作用
s   强制转换为字符串类型
d   强制转换为整形类型
b   强制转换为布尔类型
a   强制转换为数组类型
f   强制转换为浮点类型
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值