一、ThinkPHP框架的各种大写字母(A\C\R\M\D\I、、、、)方法汇总
1、I()方法:I方法就是用来获取表单提交过来的数据的,其中包括get、post、session\cookie等等。
语法规则:I('变量的类型.变量的名称',[默认值],[过滤方法])
其中包含的变量类型有:
变量类型 | 描述 |
Get | 获取get提交的参数 |
Post | 获取POST提交的参数 |
param | 自动判断是get还是post |
request | 获取request提交的数据 |
Session | 获取会话的数据 |
Cookie | 获取cookie数据 |
server | 类似是$_SERVER[]; |
globals | 获取$GLOBALS参数 |
path | 获取pathinfo模式的url参数 |
用法:
描述 | 例题 |
获取get提交的name变量 | I('get.name') |
获取get提交的name变量并指定默认值 | I('get.name','李白') |
获取值后并调用函数处理数据 | I('get.name',' ', mysql_real_escape_string,trim); |
获取所有get提交的数据 | I('get.') |
2、C()方法:
(1)用来获取配置文件的某个参数的值,例如:C('url_model');
(2)用来动态配置某个配置文件的参数的值,例如:C('DATA_CACHE_TIME',60);
还可以批量配置参数,例如:
$config['user_id'] = 1;
$config['user_type'] = 1;
C($config);
(3)批量保存设置的参数
$config['user_id'] = 1;
$config['user_type'] = 1;
C($config,'name');
3、A()方法:
(1)A('控制器'): 实例化控制器;例如:A('User')//默认Controller
相当于$User =new \Home\Controller\UserController();
(2)A('模块/控制器','控制器层名称'):例如:$Blog = A('Admin/Blog','Event');
相当于$Blog =new \Admin\Event\BlogEvent();
4、U()方法:动态生成url地址;格式:U('模块/控制器/操作/其他参数')
例如:U('user/index') //表示当前分组/user控制器/index操作方法
U方法的第二个参数支持数组和字符串两种定义方式,如果只是字符串方式的参数可以在第一个参数中定义,例 如:
U('Blog/cate',array('cate_id'=>1,'status'=>1))
U('Blog/cate','cate_id=1&status=1')
U('Blog/cate?cate_id=1&status=1')
5、M()和D()方法:实例化数据模型(MODEL);区别是,D方法实例化模型类的时候通常是实例化某个具体的模型类,如果你仅仅是对数据表进行基本的CURD操作的话,使用M方法实例化的话,由于不需要加载具体的模型类,所以性能会更高。D()方法可以跨模块实例化,D('Admin/User');M()方法可以跨数据库实例化,例如:M(‘db_name.User’,'ot_'), 使用M方法实例化 操作db_name数据库的ot_user表。
6、T()方法:主要用于定位视图;即获取某个视图的位置,格式:T(模块@控制器名/操作方法名)
T('Admin@Public/menu');//表示admin模块下的public控制器/menu操作;最常用的是和display来定位到要显示的视图,$this->display(T('Admin@Public/menu'));