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

yipeiwu_com5年前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中substr函数字符串截取用法分析

本文实例讲述了PHP中substr函数字符串截取用法。分享给大家供大家参考,具体如下: PHP中substr函数定义如下: substr(string,start,length) 参数说...

PHP中如何实现常用邮箱的基本判断

越来越多的网站希望用户使用邮箱进行注册,或者是绑定邮箱,这时候就要对邮箱的正确性进行确认,有的人采用发送邮件进行激活的方式来进行判断,从而激活一个账户,但是存在一个问题就是,在邮件发送出...

PHP动态柱状图实现方法

PHP动态柱状图实现方法

本文实例讲述了PHP动态柱状图实现方法。分享给大家供大家参考。具体分析如下: 1.需求 查询最近一个月的数据总条数和审核通过的条数,做成柱状图 2.实现代码: <!DOCTY...

详解PHP版本兼容之openssl调用参数

背景与问题解决方式 老项目重构支付宝部分代码整合支付宝新的sdk时发现验签总是失败,才发现是open_verify最后的参数传输问题。而open_sign同样如此。本文主要说明open_...

php创建、获取cookie及基础要点分析

php创建、获取cookie及基础要点分析

本文实例讲分析了php创建、获取cookie及基础要点。分享给大家供大家参考。具体如下: 假设为:cookie1.php文件 复制代码 代码如下:<?php setCook...