ThinkPHP中实例Model方法的区别说明_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中定义好验证条件);如果用第二种就没有了·····

时间: 2024-08-01 01:39:35

ThinkPHP中实例Model方法的区别说明_php技巧的相关文章

PHP中数组合并的两种方法及区别介绍_php技巧

PHP数组合并两种方法及区别 如果是关联数组,如下: 复制代码 代码如下: $a = array( 'where' => 'uid=1', 'order' => 'uid', ); $b = array( 'where' => 'uid=2', 'order' => 'uid desc', ); 1. array_merge,如果两个数组存在相同的key,后面的一个会覆盖前面的 复制代码 代码如下: <?php $c = array_merge($a, $b); var_ex

PHP中exec与system用法区别分析_php技巧

本文实例讲述了PHP中exec与system用法区别,分享给大家供大家参考之用.具体方法如下: 一般来说,在PHP中调用外部命令,可以用exec及system来实现: system() 原型:string system (string command [, int return_var]) system()函数很其它语言中的差不多,它执行给定的命令,输出和返回结果.第二个参数是可选的,用来得到命令执行后的状态码. 返回结果: 成功返回0,   失败(命令不存在等原因)   返回   非0值 ex

ThinkPHP中处理表单中的注意事项_php技巧

本文实例讲述了ThinkPHP中处理表单中的注意事项.分享给大家供大家参考.具体分析如下: ThinkPHP中在表单提交数据中,有以下问题需要加以注意: 1.直接通过url访问模块中的某一个方法,这样很不安全.可以使用下面来限制 复制代码 代码如下: $this->isPost();//判断是不是以post方式访问方法. 在3.1.3中使用常量 IS_POST 来判断. 2.处理错误方法: _404('提示错误','跳转[注意在开启调试模式下不会跳转]',''); 方法 halt(); 查询:

PHP中addslashes与mysql_escape_string的区别分析_php技巧

本文实例分析了PHP中addslashes与mysql_escape_string的区别.分享给大家供大家参考,具体如下: 1.在插入数据时两者的意义基本一样.区别只在于addslashes 在magic_quotes_sybase=on时将" '"转换成" ' '" 在magic_quotes_sybase=off时将" '"转换成"\ '" 而mysql_escape_string总是将" '"转换成&

PHP中echo,print_r与var_dump区别分析_php技巧

本文较为详细的分析了PHP中echo,print_r与var_dump区别.分享给大家供大家参考.具体分析如下: 三者都是具有输出功能的php语句,但print_r(expression),var_dump(expression)是函数,echo只是语言结构,不是函数,因此不能作为表达式的一部分. 对于操作php的8种数据类型来说: ① echo 用于输出数值变量或者是字符串.但使用echo来输出引用变量时,如数组,仅输出数组的名字:当输出一个对象时,服务器提示<Catchable fatal

PHP编程中的__clone()方法使用详解_php技巧

可以在对象类中定义一个__clone()方法来调整对象的克隆行为.此方法的代码将在克隆操作期间执行.除了将所有现有对象成员复制到目标对象之外,还会执行__clone()方法指定的操作.下面修改Corporate_Drone类,增加以下方法: function __clone() { $this->tiecolor = "blue"; } 之后,创建一个新的Corporate_Drone对象,增加employeeid成员的值,克隆这个对象,然后输出一些数据,从而显示克隆对象的tie

PHP中include()与require()的区别说明_php技巧

require 的使用方法如 require("MyRequireFile.php"); .这个函数通常放在 PHP 程序的最前面,PHP 程序在执行前,就会先读入 require 所指定引入的文件,使它变成 PHP 程序网页的一部份.常用的函数,亦可以这个方法将它引入网页中. include 使用方法如 include("MyIncludeFile.php"); .这个函数一般是放在流程控制的处理部分中.PHP 程序网页在读到 include 的文件时,才将它读进

浅谈php中mysql与mysqli的区别分析_php技巧

首先两个函数都是用来处理DB 的.首先, mysqli 连接是永久连接,而mysql是非永久连接.什么意思呢? mysql连接每当第二次使用的时候,都会重新打开一个新的进程,而mysqli则只使用同一个进程,这样可以很大程度的减轻服务器端压力.其次,mysqli封装了诸如事务等一些高级操作,同时封装了DB操作过程中的很多可用的方法.应用比较多的地方是 mysqli的事务.比如下面的示例: 复制代码 代码如下: $mysqli = new mysqli('localhost','root','',

php中var_export与var_dump的区别分析_php技巧

一 var_dump (PHP 3 >= 3.0.5, PHP 4, PHP 5) var_dump -- 打印变量的相关信息 描述 void var_dump ( mixed expression [, mixed expression [, ...]] ) 此函数显示关于一个或多个表达式的结构信息,包括表达式的类型与值.数组将递归展开值,通过缩进显示其结构. 复制代码 代码如下: $data = array ('name' => 'abc', 'job' => 'programmer