巅云智能建站平台搭建版(创业流派版)火爆上线,毕生受权!新增:文章智能收罗+全站真静态打包+都会分站+智能小法式+不法词过滤+H5自顺应+智能链词等功效功效概况
建站专提News

thinkPHP框架主动添补道理与用法阐发

一佰互联网站开辟设想(www.taishanly.com) 宣布日期 2020-04-25 14:40:45 阅读数: 111

本文实例阐发了thinkPHP框架主动添补道理与用法。分享给大师供大师参考,详细以下:

thinkphp有一个主动添补字段的体例

添补法则以下

array(   array(完成字段1,完成法则,[完成前提,附加法则]),   array(完成字段2,完成法则,[完成前提,附加法则]),   ......);

注:研讨源码后发明实在另有第4个参数,是给函数或回调体例传参数用的,参数1默许为该字段值,如:

array("mobile","trim",3,"function",参数2,参数3"),

考证付出静态和静态

静态考证

在模子类外面事后界说好该模子的主动考证法则,在利用create体例后会主动去考证。

以下是官方的例子

1.起首在模子中界说好考证的法则

namespace HomeModel;use ThinkModel;class UserModel extends Model{   protected $_auto = array (     array("status","1"), // 新增的时辰把status字段设置为1     array("password","md5",3,"function") , // 对password字段在新增和编辑的时辰使md5函数处置     array("name","getName",3,"callback"), // 对name字段在新增和编辑的时辰回调getName体例     array("update_time","time",2,"function"), // 对update_time字段在更新的时辰写入以后时辰戳   );}

2.在挪用的时辰用create体例会主动停止添补

$User = D("User"); // 实例化User工具if (!$User->create()){ // 成立数据工具   // 若是成立失利 表现考证不经由过程 输出毛病提醒信息   exit($User->getError());}else{   // 考证经由过程 写入新增数据   $User->add();}

静态考证

以下是官方的例子

$rules = array (  array("status","1"), // 新增的时辰把status字段设置为1  array("password","md5",3,"function") , // 对password字段在新增和编辑的时辰使md5函数处置  array("update_time","time",2,"function"), // 对update_time字段在更新的时辰写入以后时辰戳);$User = M("User");$User->auto($rules)->create();$User->add();

上面是焦点的代码阐发:

create体例挪用后会挪用autoOperation体例,体例以下

/** * 主动表单处置 * @access public * @param array $data 成立数据 * @param string $type 成立范例 * @return mixed */private function autoOperation(&$data,$type) {  if(!empty($this->options["auto"])) {    $_auto  =  $this->options["auto"];    unset($this->options["auto"]);  }elseif(!empty($this->_auto)){    $_auto  =  $this->_auto;  }  // 主动添补  if(isset($_auto)) {    foreach ($_auto as $auto){      // 添补因子界说格局      // array("field","添补内容","添补前提","附加法则",[额定参数])      if(empty($auto[2])) $auto[2] = self::MODEL_INSERT; // 默许为新增的时辰主动添补      //这里的判定是关头,$type为以后的操纵状况,值为1表现是拔出,值为2表现是更新      //若是以后的$type状况值即是设置的值$auto[2]或$auto[2]的值为3,代表须要添补      if( $type == $auto[2] || $auto[2] == self::MODEL_BOTH) {        if(empty($auto[3])) $auto[3] = "string";        switch(trim($auto[3])) {          case "function":  // 利用函数停止添补 字段的值作为参数          case "callback": // 利用回调体例            $args = isset($auto[4])?(array)$auto[4]:array();            if(isset($data[$auto[0]])) {              array_unshift($args,$data[$auto[0]]);            }            if("function"==$auto[3]) {              $data[$auto[0]] = call_user_func_array($auto[1], $args);            }else{              $data[$auto[0]] = call_user_func_array(array(&$this,$auto[1]), $args);            }            break;          case "field":  // 用别的字段的值停止添补            $data[$auto[0]] = $data[$auto[1]];            break;          case "ignore": // 为空疏忽            if($auto[1]===$data[$auto[0]])              unset($data[$auto[0]]);            break;          case "string":          default: // 默许作为字符串添补            $data[$auto[0]] = $auto[1];        }        if(isset($data[$auto[0]]) && false === $data[$auto[0]] )  unset($data[$auto[0]]);      }    }  }  return $data;}

更多对thinkPHP相干内容感乐趣的读者可检查本站专题:《ThinkPHP入门教程》、《thinkPHP模板操纵技能总结》、《ThinkPHP经常利用体例总结》、《codeigniter入门教程》、《CI(CodeIgniter)框架进阶教程》、《Zend FrameWork框架入门教程》及《PHP模板手艺总结》。

但愿本文所述对大师基于ThinkPHP框架的PHP法式设想有所赞助。

一佰互联是天下着名建站品牌办事商,咱们有九年、网站建造、网页设想、php开辟和域名注册及假造主机办事经历,供给的办事更是天下着名。最近几年来还整合团队上风自立开辟了可视化多用户”“3.0平台版,拖拽排版网站建造设想,轻松完成pc站、手机微网站、小法式、APP一体化全网营销网站扶植 ,已胜利的为天下上百家收集公司供给自助建站平台搭建办事。更多资讯:tags标签

相干动静more

15
04月
西彭做网站/建网站的公司/普通的企业网站建

西彭做网站/西彭网站扶植普通的企业网站扶植用度大要是几多呢?保举办事商:高端网站扶植 重庆一佰互联收集手艺无限公司 德律风:185813895... >>概况

13
02月
若何开辟最优拜候休会的手机网站?

虽然手机网站具备多种后天怪异上风,且不用破费本钱来采办域名、空间和网站备案,但今朝手机网站的成长环境并不抱负,品质也远远掉队于挪动互联网成长... >>概况

30
04月
PHP和Mysqlweb利用开辟焦点手艺-第

首要主题是 .php字符串中的变量扩大体系 .php中可用的更大都据范例 .范例之间的转换 .输出和利用变量和常量 .若何在php中构建抒发... >>概况

12
05月
专业网站扶植公司,供给了一个专业平台

信息时期的到来增进了咱们糊口的成长,鞭策了咱们不时向前的糊口。若是是汽车是任务反动带来的功效。那末专业网站扶植则是咱们这个时期的抢先气力。专... >>概况

高端网站扶植

美工统筹SEO,为企业电子商务营销助力!

德律风:

023-85725751
建站

产物

域名注册 假造主机 云办事器 企业邮局
智能建站 APP打包 微站/小法式 创业平台
网站推行 媒体营销 智能收罗 AI机械人
400德律风 短信营销 店销机械人
私家定制 流派网站