ThinkPHP中实例Model方法的区别说明

yipeiwu_com6年前PHP代码库
在TP中,我们可以用下面两种方法去创建一个数据表的映射对象(我暂时用到的)
第一种:$Test = D('Test')
第二种:$Test = new Model('Test')
虽然这两种都可以对数据进行select,insert,delete,udpate操作,在数据验证上有很大的不同,
我们来看看效果,先创建一个 TestModel
复制代码 代码如下:

class TestModel extends Model{
protected $_validate = array{
array('title','require','请输入标题',1),
array('content','require','请输入内容',1),
}
}

创建一个TestAction
复制代码 代码如下:

class TestAction extends Action{
public function Dtest(){
$test = D('Test'); //第一种情况
$test = new Model('Test'); //第二种情况
if($test->Create()){
$test->Add();
}else{
$test->getError();
}
}
}

在运行的时候,大家会发现,用第一种方式实例一个模型就会有数据检查功能,如果 title 没有填写的话就会提示 “请输入标题” (这个是tp提供的一个自动验证功能,当然也需要在相应的model中定义好验证条件);如果用第二种就没有了·····

相关文章

php curl获取网页内容(IPV6下超时)的解决办法

原因:在程序中我对curl获取内容都作了较为严格的超时限制,所以就会造成无法获取内容的问题。解决方法:设置默认访问为ipv4。php的curl设置方法如下:复制代码 代码如下:<?...

PHP利用APC模块实现文件上传进度条的方法

本文实例讲述了PHP利用APC模块实现文件上传进度条的方法。分享给大家供大家参考。具体分析如下: 以前的php5.2之前的版本是不能可使用APC模块的,因为之前的压根就没有这个APC模块...

PHP采用curl模仿用户登陆新浪微博发微博的方法

本文实例讲述了PHP采用curl模仿用户登陆新浪微博发微博的方法。分享给大家供大家参考。具体实现方法如下: 现在用php做模仿用户登录我们都会使用到PHP curl函数了,因为只有它才可...

php socket通信(tcp/udp)实例分析

本文实例讲述了php socket通信(tcp/udp)方法。分享给大家供大家参考,具体如下: 注意 1.在socket_bind的时候ip地址不能真回环地址如127.0.0.1 2.s...

浅谈ThinkPHP5.0版本和ThinkPHP3.2版本的区别

5.0版本和之前版本的差异较大,本篇对熟悉3.2版本的用户给出了一些5.0的主要区别。 URL和路由 5.0的URL访问不再支持普通URL模式,路由也不支持正则路由定义,而是全部改为规则...