thinkphp中i方法的代码是什么
2022-04-06 11:30:18
thinkphp中i方法的代码是“I(‘变量类型.变量名’,[‘默认值’],[‘过滤方法’],[‘额外数据源’])”;i方法命名来自“input”,是输入的意思,用于更加方便和安全的获取系统输入变量,必要时还可以对变量值进行过滤及强制转换。
本文操作环境:Windows10系统、ThinkPHP5版、Dell G3电脑。
thinkphp中i方法的代码是什么
是ThinkPHP众多单字母函数中的新成员,其命名来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下:
I(‘变量类型.变量名/修饰符’,[‘默认值’],[‘过滤方法或正则’],[‘额外数据源’])
变量类型是指请求方式或者输入类型,包括:
注意:变量类型不区分大小写。
变量名则严格区分大小写。
默认值和过滤方法均属于可选参数。
用法
我们以GET变量类型为例,说明下I方法的使用:
echo I('get.id'); // 相当于 $_GET['id'] echo I('get.name'); // 相当于 $_GET['name']
支持默认值:
echo I('get.id',0); // 如果不存在$_GET['id'] 则返回0 echo I('get.name',''); // 如果不存在$_GET['name'] 则返回空字符串
采用方法过滤:
echo I('get.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_GET['name'] 进行过滤,如果不存在则返回空字符串
支持直接获取整个变量类型,例如:
I('get.'); // 获取整个$_GET 数组
用同样的方式,我们可以获取post或者其他输入类型的变量,例如:
I('post.name','','htmlspecialchars'); // 采用htmlspecialchars方法对$_POST['name'] 进行过滤,如果不存在则返回空字符串 I('session.user_id',0); // 获取$_SESSION['user_id'] 如果不存在则默认为0 I('cookie.'); // 获取整个 $_COOKIE 数组 I('server.REQUEST_METHOD'); // 获取 $_SERVER['REQUEST_METHOD']
param变量类型是框架特有的支持自动判断当前请求类型的变量获取方式,例如:
echo I('param.id');
如果当前请求类型是GET,那么等效于 $_GET['id'],如果当前请求类型是POST或者PUT,那么相当于获取 $_POST['id'] 或者 PUT参数id。
并且param类型变量还可以用数字索引的方式获取URL参数(必须是PATHINFO模式参数有效,无论是GET还是POST方式都有效),例如:
当前访问URL地址是
http://serverName/index.php/New/2013/06/01
那么我们可以通过
echo I('param.1'); // 输出2013 echo I('param.2'); // 输出06 echo I('param.3'); // 输出01
事实上,param变量类型的写法可以简化为:
I('id'); // 等同于 I('param.id') I('name'); // 等同于 I('param.name')
推荐学习:《PHP视频教程》
以上就是thinkphp中i方法的代码是什么的详细内容,更多请关注dnjidi.com其它相关文章!
相关阅读
- thinkphp5与laravel的区别是什么
- Thinkphp+layer+ajax如何完成增加方法(附代码示例)
- 解析yylAdmin系统的安装使用
- 详解ThinkPHP怎么实现图片上传
- 有关ThinkAPI短信服务的详细介绍
- ThinkPHP有三种方式收集表单数据
- 一文详解thinkphp控制器的定义和使用
- 分享TP6框架中Redis操作服务类的记录
- 详解Tp5中如何定义获取器和修改器
- php onethink验证码不显示怎么办
- 解决TP获取微信用户信息出现10003错误问题
- TP框架去掉home模块的两种方法
- ThinkPHP怎么配置路由,让后台隐藏起来!
- 教你如何使用TP5 taglib自定义标签
- 解决TP5取不到Model的自定义字段问题
- 一文讲解thinkphp5如何进行异步验证邮箱
- 手把手教你使用ThinkPHP+phpExcel导入导出Excel数据(实践)
- 解析TP5框架从入口到输出界面的加载流程