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();
thinkphp的快捷方法实例化对象相关推荐
- ThinkPHP单字母函数(快捷方法)使用总结
这篇文章主要介绍了ThinkPHP单字母函数(快捷方法)使用总结,对ThinkPHP的快捷方法做了针对性的归纳总结,需要的朋友可以参考下 在ThinkPHP中有许多使用简便的单字母函数(即快捷方法), ...
- ThinkPHP快捷方法使用总结
在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,文本将所有的字母函数总结下,方便以后查找. 1.U() URL组装,支持不同U ...
- g('begin');php,ThinkPHP快捷方法使用总结
在ThinkPHP中有许多使用简便的单字母函数(即快捷方法),可以很方便开发者快速的调用,但是字母函数却不方便记忆,文本将所有的字母函数总结下,方便以后查找. 1.U() URL组装,支持不同U ...
- Spring中利用applicationContext.xml文件实例化对象和调用方法
Spring中实例化对象和调用方法入门 1.jar包和xml的准备 已上传至百度云盘,链接: https://pan.baidu.com/s/1CY0xQq3GLK06iX7tVLnp3Q 提取码: ...
- php 对象里还有哪些对象_PHP面向对象(OOP)之实例化对象的方法
点击蓝字关注我们!每天获取最新的编程小知识! 源 / php中文网 源 / www.php.cn 面向对象程序的单位就是对象,但对象又是通过类的实例化出来的,既然我们类会声明了,下一步就是实 ...
- python类的实例方法必须创建对象前还是后可以调用_classmethod可以来调用类的属性,类的方法,实例化对象...
classmethod可以来调用类的属性,类的方法,实例化对象,今天番茄加速就来讲一下. classmethod() classmethod 修饰符对应的函数不需要实例化,不需要 self 参数,但第 ...
- python 实例化过程_python实例化对象的具体方法
python中同样使用关键字class创建一个类,类名称第一个字母大写,可以带括号也可以不带括号:python中实例化类不需要使用关键字new(也没有这个关键字),类的实例化类似函数调用方式: # c ...
- java .class 实例对象_Java产生Class类的三种实例化对象的方法
Java产生Class类的三种实例化对象的方法 1.object.getClass 2.类名.class直接根据某个具体的类来取得Class实例化对象 3.Class.forName(String c ...
- Java中构造方法的案例及常用类int lenght类的使用方法举例,new实例化对象方法,静态方法实例方法的举例
目录 一.前言 二.构造方法的案例 2.1代码部分 2.2运行截图 三.常用类int lenght类的使用方法举例 3.1程序代码 3.2运行结果 四.new实例化对象方法例题 4.1程序代码 4.2 ...
最新文章
- ODBC API 学习总结
- 渗透测试之通过代码审计打点
- .net学习榜样的博客
- win7无法将应用程序锁定到任务栏的几种解决方法
- java线程——中断线程+线程状态+线程属性(优先级)
- Python 多线程中死锁了怎么办?
- SQL--查询无记录,显示默认一条记录
- 数字PCR(DPCR)和QPCR行业调研报告 - 市场现状分析与发展前景预测
- 如何解决json中携带的反斜杠_【经验分享】python干货:5种反扒机制的解决方法...
- php将mysql转换为json字符串_在PHP中将MySQL记录集转换为JSON字符串
- Android性能测试之fps获取
- Android 自动旋转屏幕总结
- PostgreSQL11.2下载
- 关于readyState
- NGUI:HUD Text
- Codeforces707C
- 微信网页授权校验文件
- 胡说八道JVM—垃圾回收算法和垃圾回收器
- 大学本科计算机考试小抄,大学考试允许带小抄 一页开卷学生抄到手酸
- Python-使用海龟绘图制作动态时钟
热门文章
- pin controller driver代码分析
- asterisk1.8 Makefile分析 (1)
- java的国际化怎么用_Java有关国际化使用实例
- MyBatis笔记——配置文件完成增删改查
- php判断桌面宽度,js获取页面宽度高度及屏幕分辨率
- aop实现原理_SpringAOP原理分析
- 【转】细说.NET中的多线程 (二 线程池)
- pandas 批量修改列名_pandas修改DataFrame列名的方法
- 51单片机auxr寄存器_51—52系列单片机特殊功能寄存器一览表
- python操作hive数据库代码_Python连接Hive操作数据库