Thinkphp 内部函数

ThinkPHP为一些常用的操作定义了快捷方法,这些方法具有单字母的方法名,具有比较容易记忆的特点。非常有意思的是,这些快捷方法的字母包含了ADSL字母,所以我们称之为ADSL方法 ---引自Thinkphp

首先A、D、S、L、M、C、F、I 他们都在 /THINKPHP/Common/functions.php 这个文件中
下面我分别说明一下他们的功能

A() 加载Action类
D() 加载Model类                                        
M() 加载Model类
S() 全局缓存配置 用法 S(“这里相当于一个唯一的标识”)
L() 获取语言定义
C() 获取配置值 用法就是 C("这里填写在配置文件里数组的下标")
F()快速文件数据读取和保存 针对简单类型数据 字符串、数组
I() 快速闯建一个对象实例

1. A快速创建Action对象
$action = new UserAction();// 等同于以下写法:
$action = A("User");
而且,如果当前的UserAction类还没有引入的话,A方法会自动引入。并且具有单例模式的支持,不会重复炒建相同的Action对象。
A方法支持跨项目调用,例如:
$action = A("User"'Admin'); //实例化Admin项目的UserAction类

2. D快速创建模型数据对象
先定义好模型类,如UserModel,然后就可以用D()函数对数据进行操作了。例如:
先在"你的项目"\Lib\Model下建立一个名为UserModel.class.php的PHP脚本,内容如下:
class UserModel extends Model{}
然后,无需增加任何属性和方法,就可以进行如下操作:
$User = D("User"); //实例化User对象,User是你在数据库建立的一个名为"前缀_user"的数据表
也可以用$User = new UserModel()代替,进行实例化对象的操作。
实例化之后,就可以对数据进行增删查改等一系列操作了,如:
$User->find(1); //查找主键为1的记录

3. S快速操作缓存方法
ThinkPHP把各种缓存方式都抽象成统一的缓存类来调用,而且ThinkPHP把所有的缓存机制统一成一个S方法来进行操作,所以在使用
不同的缓存方式的时候并不需要关注具体的缓存细节。如:
S('data'$Data); //使用data标识缓存$Data数据
S('data'$Data3600); //缓存$Data数据3600秒
$Data = S('data'); //猎取缓存数据
S('name'null); // 删除缓存标识name

4. L快速操作语言变量
L方法提供了多语言的支持,可以快速设置和猎取语言定义。
L(‘USER_INFO’’用户信息’); //设置名称为USER_INFO 的语言变量
L(‘USER_INFO’); // 猎取USER_INFO的语言变量值
//批量赋值
$array[‘USER_INFO’] = ‘用户信息’;
$array[‘ERROR_INFO’] = ‘错误信息’;
L($array);

5. C 快速操作配置变量
C(‘USER_AUTH_ON’true); //设置名称为USER_AUTH_ON 的配置参数
C(‘USER_AUTH_ON’); //猎取USER_AUTH_ON的变量值
同L一样C也支持批量赋值
注意:配置参数不区分大小写

此外从1.5版本开始,C方法还支持二维数组的操作
C('USER.USER_TYPE'1);
C('USER.USER_AUTH_ON');

6. F 文件数据保存方法
F方法主要用于项目的文件数据的写入、更改和删除,其工作机理和S方法是类似的,区别在于用途不同,数据保存的目录也不同,而且不能指定缓存方式,因为默认就是文件形式保存数据。
F方法使用了var_export方法,所以只能支持简单数据类型,不支持对象的缓存。
M()和C()
区别一,重点在于数据的验证:
D()和M()的区别主要在于M()方法不需要创建模型类文件(即 ./lib/Model/ 下面的文件),M()方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现,而D()方法必须有创建模型类(即 ./lib/Model/ 下面的文件)。
区别二,在于模型命名中trueTableName的区别:
用了$trueTableName后,必须用$test=d(‘test’),表示查询的是test表,如果用的是$test=m(‘test’),那么都表示查询的数据边是think_test。

转载于:https://my.oschina.net/junn/blog/80943

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值