搜尋

首頁  >  問答  >  主體

TP框架中的自动验证和自动完成有什么区别??

TP框架中的自动验证和自动完成有什么区别??

巴扎黑巴扎黑2930 天前926

全部回覆(2)我來回復

  • 面对疾风吧

    面对疾风吧2016-11-10 16:05:40

    自动验证 就是在向数据库写数据的时候,在model层添加的一系列的验证规则

    自动完成 就是在满足一定的条件时,将准备向数据库插入的记录中添加自己期望的一些字段,比如更新时间,创建时间等等


    回覆
    0
  • 女神的闺蜜爱上我

    女神的闺蜜爱上我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;
         }

    自动验证会对数据进行判定,若验证失败,则终止数据对象的创建,而自动完成则是自动对数据对象进行处理,并不会去终止数据对象的创建.


    回覆
    0
  • 取消回覆