日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

      歡迎訪問 生活随笔!

      生活随笔

      當前位置: 首頁 > 编程语言 > php >内容正文

      php

      php怎么弄自动填充,ThinkPHP 自动填充(自动完成)详解及实例

      發布時間:2025/3/19 php 33 豆豆
      生活随笔 收集整理的這篇文章主要介紹了 php怎么弄自动填充,ThinkPHP 自动填充(自动完成)详解及实例 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

      ThinkPHP 自動填充

      ThinkPHP 內置了數據對象的自動填充功能,可以用來處理默認值、數據過濾以及其他系統寫入字段的自動處理。

      要使用自動填充功能,只需要在對應的 Model類 里面定義 $_auto 屬性(由多個驗證因子組成的數組)。$_auto 屬性是由多個填充因子組成的數組,語法格式如下:

      protected $_auto = array(

      array(填充字段,填充內容[,填充條件][,附加規則])

      };

      ThinkPHP自動填充格式說明:

      填充因子

      說明

      填充字段

      必須。需要填充的表單字段,這個字段不一定是數據庫字段,也可以是表單的一些輔助字段,例如驗證碼等。

      填充內容

      必須。要對字段自動填充的內容。

      填充條件

      可選。包括:

      Model:: MODEL_INSERT 或者 1 :新增數據時候填充(默認)

      Model:: MODEL_UPDATE 或者 2 :更新數據時候填充

      Model:: MODEL_BOTH 或者 3 :全部情況下填充

      附加規則

      可選。包括:

      string:字符串,表示填充內容為字符串(默認)

      function:使用函數,表示填充的內容是一個函數返回值

      callback:使用方法,表示填充的內容是一個當前 Model 的方法返回值

      field:字段,表示填充的內容是一個其他字段的值

      自動填充例子

      用戶注冊或修改資料時,可能用到的自動填充例子:

      class UserModel extends Model{

      protected $_auto = array (

      // 新增的時候把status字段設置為1

      array('status','1'),

      // 對password字段在所有情況下使用md5函數處理

      array('password','md5',3,'function'),

      // 對username字段在新增時回調getName方法

      array('username','getName',1,'callback'),

      // 對regdate字段在新增時寫入當前時間戳

      array('regdate','time',1,'function'),

      // 對regip字段在新增時寫入用戶注冊IP地址

      array('regip','get_client_ip',1,'function'),

      );

      }

      和自動驗證一樣,自動完成機制需要使用 create 方法才能生效:

      $Article = D("User");

      if(!$User->create()){

      // 如果創建數據對象失敗(可能是驗證未通過等),輸出錯誤提示信息

      exit($Article->getError());

      }else{

      // 繼續下一步流程如將數據寫入數據表

      }

      提示

      與自動驗證不同的是,自動填充無效時(如調用一個不存在的函數或自動填充的字段不存在等)并不導致創建數據對象(create())失敗,只能通過調試或實際數據入庫來檢測自動填充是否正確有效。

      動態改變自動完成規則

      和自動驗證一樣,可以在操作方法中使用 setProperty方法 動態的更改自動完成的規則:

      $Dao = D("User");

      $auto = array (

      // 僅對password字段進行處理

      array('password','md5',1,'function')

      );

      $User->setProperty("_auto",$auto);

      if(!$User->create()){

      ……

      }

      M方法中使用自動填充功能

      充分利用功能強大的 ThinkPHP 自動填充(自動完成)功能,能夠快捷簡便的構建表單入庫數據,程序結構也會更加明晰。

      總結

      以上是生活随笔為你收集整理的php怎么弄自动填充,ThinkPHP 自动填充(自动完成)详解及实例的全部內容,希望文章能夠幫你解決所遇到的問題。

      如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。