面对疾风吧2016-11-10 16:05:40
自动验证 就是在向数据库写数据的时候,在model层添加的一系列的验证规则
自动完成 就是在满足一定的条件时,将准备向数据库插入的记录中添加自己期望的一些字段,比如更新时间,创建时间等等
女神的闺蜜爱上我2016-11-10 16:05:02
自动验证(autoValidation)和自动完成(autoOperation),还有自动检测Token验证(autoCheckToken)是ThinkPHP框架里面create方法提供的功能.
就是说,只有当你使用create创建数据对象的时候,才会调用这些方法.
其中,自动验证(autoValidation)和自动完成(autoOperation)不同点在于:
/** * 创建数据对象 但不保存到数据库 * @access public * @param mixed $data 创建数据 * @param string $type 状态 * @return mixed */ public function create($data='',$type='') { ... ... // 数据自动验证 if(!$this->autoValidation($data,$type)) return false; ... ... // 创建完成对数据进行自动处理 $this->autoOperation($data,$type); // 赋值当前数据对象 $this->data = $data; // 返回创建的数据以供其他调用 return $data; }
自动验证会对数据进行判定,若验证失败,则终止数据对象的创建,而自动完成则是自动对数据对象进行处理,并不会去终止数据对象的创建.