thinkphp的快捷方法实例化对象

D、F、S、C、L、A、I 他们都在functions.php这个文件家
下面我分别说明一下他们的功能

D() 加载Model类
M() 加载Model类

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

以上如果有遗漏的 内部函数

ThinkPHP值得大家学习的源码,特别是他们的中文注释让我们很容易就了解他源码中的内容

在用thinkphp做程序时经常能用到的内部函数,对于换成这一块用S()比较会减轻对数据库的负担!

在thinkphp中出了有内部还是,thinkphp还把配置文件保存为静态变量,在模板里方便快速调用

如果{$Thinkphp.config.参数名称}

如果主键是自动增长的,用add()的时候他会自动的返回一个插入新记录的ID值

我们在做用户金币或者是积分或者是投票的时候,需要对指定的字段自加1这时候我可以可以这样写

$s= D('admin');$s->score='(score+1)';$s->save(); 这样我们会剩下许多的步骤。

如果要修改指定的一个字段用简单的办法  D('admin')->setField('name','hehe','id=2');

D方法用于快速创建模型对象的实例,并且单例化,例如:

$User = D("User");

等效为

$User = new UserModel();

m实例化参数是数据库的表名.
d实例化的是你自己在model文件夹下面建立的模型文件.

D和M的区别主要在于:

M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现;

而D方法必须有创建模型类,我们可以用下面两种方法去创建一个数据表的映射对象

第一种:$Test = D('Test')

第二种:$Test = new Model('Test')

虽然这两种都可以对数据进行select,insert,delete,udpate操作,在数据验证上有很大的不同,用第一种方式实例一个模型就会有数据检查功能,如果 title 没有填写的话就会提示 “请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的model中定义好验证条件);

D方法可以自动检测模型类,不存在时他会抛出一个异常。同时对于已实例化得得模型不会再去重复实例化(单例)。

默认的D方法只能支持调用当前的项目(或者叫做应用)下的模型

例如:$user = new UserModel();

等价于$user = D('user');

如果实例化的是一个空模型

例如 $Demo = new Model();

那么它等价于 $Demo = M();

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值