ThinkPHP学习实践(二)单字母函数用法
2015-11-01 17:03
501 查看
单字母函数是ThinkPHP的一大特色,这些函数都是我们在开发中经常会用到的,以下是ThinkPHP所有单字母函数及用法:
当 \Home\Model\UserModel 类不存在的时候,D函数会尝试实例化公共模块下面的\Common\Model\UserModel 类。
M方法也可以支持跨数据库操作,例如:
如果采用的是M方法实例化模型的话,也可以支持传入不同的数据库连接信息,例如:
I(‘变量类型.变量名’,[‘默认值’],[‘过滤方法’],[‘额外数据源’])
变量类型是指请求方式或者输入类型,包括:
注意:变量类型不区分大小写,变量名则严格区分大小写。默认值和过滤方法均属于可选参数。
我们以GET变量类型为例,说明下I方法的使用:
支持默认值:
1. echo I(‘get.id’); // 相当于 GET[‘id′]2.echoI(‘get.name′);//相当于_GET[‘id’]
2. echo I(‘get.name’); // 相当于 _GET[‘name’]
D方法
快捷方法D用于数据模型的实例化操作。<?php //实例化模型 $User = D('User'); // 相当于 $User = new \Home\Model\UserModel(); // 执行具体的数据操作 $User->select();
当 \Home\Model\UserModel 类不存在的时候,D函数会尝试实例化公共模块下面的\Common\Model\UserModel 类。
M函数
D方法实例化模型类的时候通常是实例化某个具体的模型类,如果仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,性能会更高。// 使用M方法实例化 $User = M('User'); // 和用法 $User = new \Think\Model('User'); 等效 // 执行其他的数据操作 $User->select();
M方法也可以支持跨数据库操作,例如:
// 使用M方法实例化 操作db_name数据库的ot_user表 $User = M('db_name.User','ot_'); // 执行其他的数据操作 $User->select();
如果采用的是M方法实例化模型的话,也可以支持传入不同的数据库连接信息,例如:
$User = M('User','other_','mysql://root:1234@localhost/demo#utf8');
I函数
I方法来自于英文Input(输入),主要用于更加方便和安全的获取系统输入变量,可以用于任何地方,用法格式如下: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 | 获取 其他类型的参数,需要配合额外数据源参数 |
我们以GET变量类型为例,说明下I方法的使用:
支持默认值:
1. echo I(‘get.id’); // 相当于 GET[‘id′]2.echoI(‘get.name′);//相当于_GET[‘id’]
2. echo I(‘get.name’); // 相当于 _GET[‘name’]
相关文章推荐
- DATASNAP中间件调用带OUTPUT参数的存储过程
- 关于php的register_globals和magic_quotes_gpc参数配置
- OS X 10.11下PHPstorm php-cgi not found 并且访问项目目录502
- phpstrom+xdebug 配置
- 关于php-echo原理
- sae中配置weiphp,修复图片上传问题
- PHP命名空间解析规则
- 对于zendframework2的路由配置的说明
- API 参考 (SQL Server Driver for PHP)
- php输出查询数据转换成json
- 如何修改WAMP中mysql默认空密码&重新登录phpmyadmin
- PHP+Mysql+AJAX登录验证
- PHP+Mysql+AJAX无跳转刷新例子
- php学习之 array_merge与操作符+号的区别
- tp写一个微型论坛 (一)
- js模拟php的shuffle函数,用来打乱一维数组
- sftp与samba文件传输速度的对比
- ThinkPHP如何禁止直接通过路径访问
- 一个轻量级的c编写的php接口平台框架
- PHP常用函数备用