解析thinkphp中的M()与D()方法的区别

yipeiwu_com6年前PHP代码库
D()和M()方法的区别:
D和M的区别主要在于
M方法不需要创建模型类文件,M方法不会读取模型类,所以默认情况下自动验证是无效的,但是可以通过动态赋值的方式实现
而D方法必须有创建模型类。
我们可以用下面两种方法去创建一个数据表的映射对象
第一种:$Test = D('Test')
第二种:$Test = new Model('Test')
虽然这两种都可以对数据进行select,insert,delete,udpate操作,在
数据验证上有很大的不同,
用第一种方式实例一个模型就会有数据检查功能,如果 title 没有填写的话就会提示 “请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的model中定义好验证条件);
如果用第二种就没有了·····
还有1个区别就是当用了$trueTableName后,必须用$test=d('test'),表示查询的是test表,
如果用的是$test=m('test'),那么都表示查询的数据边是think_test。
thinkphp2.0版本测试有如此上面的问题

相关文章

php自动跳转中英文页面

PHP代码: <? $lan = substr(?$HTTP_ACCEPT_LANGUAGE,0,5); if ($lan == ...

PHP操作文件类的函数代码(文件和文件夹创建,复制,移动和删除)

复制代码 代码如下: <? /** * 操纵文件类 * * 例子: * FileUtil::createDir('a/1/2/3'); 测试建立文件夹 建一个a/1/2/3文件夹...

PHP面向对象分析设计的61条军规小结

(1)所有数据都应该隐藏在所在的类的内部。 (2)类的使用者必须依赖类的共有接口,但类不能依赖它的使用者。 (3)尽量减少类的协议中的消息。 (4)实现所有类都理解的最基本公有接口[例如...

php使用pdo连接并查询sql数据库的方法

本文实例讲述了php使用pdo连接并查询sql数据库的方法。分享给大家供大家参考。 具体实现代码如下: 复制代码 代码如下:$login = "root"; $passwd = "my...

strpos() 函数判断字符串中是否包含某字符串的方法

用php的strpos() 函数判断字符串中是否包含某字符串的方法 判断某字符串中是否包含某字符串的方法 if(strpos('www.idc-gz.com','idc-gz') !...