欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  后端开发

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

程序员文章站 2022-05-27 15:54:06
...
TP框架中的自动验证和自动完成有什么区别??

回复内容:

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

自动验证(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;
     }

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

就是字面意思
自动验证,比如某字段必须填写,邮箱格式,手机号格式等等
自动完成,比如创建时间为自动当前时间,密码MD5自动加密等等

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

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

我觉得你更改好好学学中文先

相关标签: thinkphp php