程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP自動完成中使用函數與回調方法實例

ThinkPHP自動完成中使用函數與回調方法實例

編輯:PHP綜合

本文實例講述了ThinkPHP自動完成中使用函數與回調方法。分享給大家供大家參考。具體方法如下:

ThinkPHP 自動填充格式如下:
復制代碼 代碼如下:array(填充字段,填充內容[,填充條件][,附加規則])

附加規則,可選,包括:

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

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

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

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

ThinkPHP 自動填充使用函數function

當附加規則使用函數function填充時,表示填充的內容是一個函數返回值,這個函數可以是PHP內置函數或用戶自定義函數.

使用函數填充例子:
復制代碼 代碼如下:class UserModel extends Model{  
protected $_auto = array (  
// 對password字段在所有情況下使用md5函數處理  
array('password','md5',3,'function'),  
// 對regdate字段在新增時寫入當前時間戳  
array('regdate','time',1,'function'),  
// 對regip字段在新增時寫入用戶注冊IP地址  
array('regip','get_client_ip',1,'function'),  
// 對username字段在新增時使用自定義getName函數  
array('username','get_name',1,'function'),  
);  
}
在上面的例子中,使用的 md5 和 time 為 PHP 內置函數,填充結果為 md5($_POST['password']) 值和 time() 函數值,get_client_ip 和 get_name 為 Common/common.php 自定義函數.

get_name 函數將用戶名加上 th_ 前綴,參考如下:
復制代碼 代碼如下:function get_name($name){  
return 'th_'.$name;  
}
如果函數需要參數,則將填充字段作為參數,如上面的 md5 和 get_name 函數填充.

ThinkPHP 自動填充使用方法callback

當使用方法 callback 填充時,表示填充的內容是一個當前 Model 的方法返回值,使用 callback 填充例子:
復制代碼 代碼如下:class UserModel extends Model{  
protected $_auto = array (  
// 對username字段在新增時回調getName方法  
array('username','getName',1,'callback'),  
);  
}
getName方法將用戶名加上 th_ 前綴,參考如下:
復制代碼 代碼如下:class UserModel extends Model{  
// 將傳入的username加上th_前綴  
function getName(){  
return 'th_'.$_POST['username'];  
}  
}
注:上述例子將 username 字段前自動加上 th_ 前綴而填充到 username 中,僅是為了說明自動填充使用函數或回調方法的用法,可能並無實際生產意義

希望本文所述對大家的ThinkPHP框架程序設計有所幫助。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved