亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > PHP > 正文

關于thinkPHP框架自動填充的原理及分析

2020-03-22 18:38:53
字體:
來源:轉載
供稿:網友
這篇文章主要介紹了thinkhtml' target='_blank'>PHP框架自動填充,結合實例形式較為詳細的分析了thinkPHP框架自動填充的原理、使用方法及相關操作注意事項,需要的朋友可以參考下

本文實例分析了thinkPHP框架自動填充原理與用法。分享給大家供大家參考,具體如下:

thinkphp有一個自動填充字段的方法

填充規則如下

array( array(完成字段1,完成規則,[完成條件,附加規則]), array(完成字段2,完成規則,[完成條件,附加規則]), ......);

注:研究源碼后發現其實還有第4個參數,是給函數或者回調方法傳參數用的,參數1默認為該字段值,如:

array( mobile , trim ,3, function ,參數2,參數3 ),

驗證支付動態和靜態

靜態驗證

在模型類里面預先定義好該模型的自動驗證規則,在使用create方法后會自動去驗證。

以下是官方的例子

1.首先在模型中定義好驗證的規則

namespace Home/Model;use Think/Model;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 mixedprivate 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;}

以上就是本文的全部內容,希望對大家的學習有所幫助,更多相關內容請關注PHP !

相關推薦:

關于smarty循環嵌套的用法

關于PHP編譯configure時常見的錯誤

關于PHP中的靜態變量及static靜態變量的使用解析

以上就是關于thinkPHP框架自動填充的原理及分析的詳細內容,PHP教程

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
久热精品视频在线免费观看| 国产精品成人久久久久| 永久555www成人免费| 国产91精品久久久久久| 91亚洲精品视频| 欧美极品少妇xxxxx| 亚洲电影天堂av| 国产成人av网址| 成人网在线观看| 日韩精品中文字幕在线播放| 欧美激情视频网| 亚洲一区二区免费在线| 最近2019年日本中文免费字幕| 亚洲va久久久噜噜噜| 国产精品99蜜臀久久不卡二区| 欧美成人精品在线播放| 中文字幕日韩欧美在线| 中文字幕少妇一区二区三区| 欧美一级片在线播放| 色与欲影视天天看综合网| 亚洲人成绝费网站色www| 91网站免费看| 日韩中文字幕欧美| 亚洲第一精品电影| 国产成人自拍视频在线观看| 国产精品爽爽爽爽爽爽在线观看| 久久亚洲精品中文字幕冲田杏梨| 亚洲第一色中文字幕| 韩国视频理论视频久久| 亚洲在线观看视频网站| 久久频这里精品99香蕉| 亚洲毛片在线观看| 亚洲精品一区av在线播放| 日韩美女中文字幕| 日韩电影大片中文字幕| 夜夜躁日日躁狠狠久久88av| 69国产精品成人在线播放| 97国产一区二区精品久久呦| 日韩av免费一区| 欧美日韩中文字幕在线视频| 日韩欧美中文第一页| 青青在线视频一区二区三区| 欧美性视频精品| 一本一道久久a久久精品逆3p| 2019最新中文字幕| 欧美一级电影久久| 国产精品揄拍一区二区| 国外成人性视频| 国产一区二区美女视频| 国产69久久精品成人看| 欧美精品一本久久男人的天堂| 亚洲一区亚洲二区亚洲三区| 97超碰色婷婷| 亚洲香蕉成人av网站在线观看| 国产在线观看精品| 欧美一级淫片aaaaaaa视频| 成人观看高清在线观看免费| 国产91精品最新在线播放| 国产精品视频成人| 久久久99免费视频| 91精品国产91久久久| 久久久噜噜噜久久| 国产精品看片资源| 亚洲激情国产精品| 久久久精品免费| 91免费精品国偷自产在线| 亚洲男人的天堂在线播放| 欧美精品www在线观看| 亚洲自拍欧美色图| 欧美高清在线视频观看不卡| 久久精品一本久久99精品| 欧美激情视频在线免费观看 欧美视频免费一| 日韩在线一区二区三区免费视频| 欧美午夜精品久久久久久浪潮| 日韩成人av在线播放| 国产大片精品免费永久看nba| 深夜福利日韩在线看| 伊人男人综合视频网| 欧美巨乳美女视频| 国产精品www色诱视频| 欧美限制级电影在线观看| 国产欧美一区二区| 亚洲第五色综合网| 亚洲精品国产免费| 国产日韩欧美日韩大片| 亚洲国内精品视频| 亚洲精品中文字幕av| 久久99久久99精品免观看粉嫩| 亚洲精品一区二区网址| 亚洲成人精品在线| 26uuu另类亚洲欧美日本一| 亚洲第一福利网站| 在线日韩欧美视频| 国产精品美腿一区在线看| 亚洲xxxx视频| 欧美一区二区三区四区在线| 91在线无精精品一区二区| 欧美xxxx18性欧美| 欧亚精品中文字幕| 日韩av在线影视| 亚洲综合自拍一区| 国模私拍一区二区三区| 2018日韩中文字幕| 日韩av一区在线观看| 这里只有精品在线播放| 亚洲天堂视频在线观看| 68精品国产免费久久久久久婷婷| 国产欧美精品xxxx另类| 色av中文字幕一区| 色综合久久中文字幕综合网小说| 国产视频亚洲精品| 美女啪啪无遮挡免费久久网站| 精品国产拍在线观看| 久久天天躁狠狠躁夜夜av| 欧美多人爱爱视频网站| 久久久精品日本| 久久久久久久久久久久久久久久久久av| 中文字幕综合在线| 美日韩精品免费观看视频| 日韩精品极品在线观看播放免费视频| 亚洲夜晚福利在线观看| 国产拍精品一二三| 欧美专区国产专区| 成人黄色在线观看| 亚洲xxxx视频| 欧美视频在线观看 亚洲欧| 91在线观看免费观看| 精品无人国产偷自产在线| 亚洲欧美中文日韩v在线观看| 亚洲一区二区中文字幕| 欧美激情欧美狂野欧美精品| 91精品久久久久久久久久另类| 国产精品嫩草影院久久久| 中文字幕欧美日韩精品| 奇米四色中文综合久久| 欧美电影在线观看完整版| 日韩专区在线播放| 国产精品久久久久久五月尺| 欧美激情区在线播放| 夜夜嗨av色综合久久久综合网| 亚洲国产日韩欧美在线图片| 国产精品一区二区三区成人| 亚洲已满18点击进入在线看片| 欧美国产日本高清在线| 亚洲香蕉伊综合在人在线视看| 欧美黑人一级爽快片淫片高清| 中文字幕精品一区久久久久| 日本一本a高清免费不卡| 国产精品十八以下禁看| 日韩亚洲成人av在线| 黑人巨大精品欧美一区二区免费| 久久久久久有精品国产| 欧美黑人视频一区| 欧美日在线观看| 欧美激情按摩在线| 久久精品91久久香蕉加勒比| 成人久久久久久久| 亚洲伊人一本大道中文字幕| 午夜精品久久久久久久白皮肤| 亚洲国产精品电影在线观看| 在线看福利67194| 亚洲色图第三页| 97在线视频国产| 日韩一区在线视频|