《PHP應(yīng)用:ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)方法實(shí)例》要點(diǎn):
本文介紹了PHP應(yīng)用:ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)方法實(shí)例,希望對(duì)您有用。如果有疑問,可以聯(lián)系我們。
本文實(shí)例講述了ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)辦法.分享給大家供大家參考.具體辦法如下:PHP編程
ThinkPHP 自動(dòng)填充格式如下:
PHP編程
代碼如下:
array(填充字段,填充內(nèi)容[,填充條件][,附加規(guī)則])
附加規(guī)則,可選,包括:PHP編程
string:字符串,表示填充內(nèi)容為字符串(默認(rèn)).PHP編程
function:使用函數(shù),表示填充的內(nèi)容是一個(gè)函數(shù)返回值.PHP編程
callback:使用辦法,表示填充的內(nèi)容是一個(gè)當(dāng)前 Model 的辦法返回值.PHP編程
field:字段,表示填充的內(nèi)容是一個(gè)其他字段的值.PHP編程
ThinkPHP 自動(dòng)填充使用函數(shù)functionPHP編程
當(dāng)附加規(guī)則使用函數(shù)function填充時(shí),表示填充的內(nèi)容是一個(gè)函數(shù)返回值,這個(gè)函數(shù)可以是PHP內(nèi)置函數(shù)或用戶自定義函數(shù).PHP編程
使用函數(shù)填充例子:
PHP編程
代碼如下:
class UserModel extends Model{??
protected $_auto = array (??
// 對(duì)password字段在所有情況下使用md5函數(shù)處理??
array('password','md5',3,'function'),??
// 對(duì)regdate字段在新增時(shí)寫入當(dāng)前時(shí)間戳??
array('regdate','time',1,'function'),??
// 對(duì)regip字段在新增時(shí)寫入用戶注冊(cè)IP地址??
array('regip','get_client_ip',1,'function'),??
// 對(duì)username字段在新增時(shí)使用自定義getName函數(shù)??
array('username','get_name',1,'function'),??
);??
}
在上面的例子中,使用的 md5 和 time 為 PHP 內(nèi)置函數(shù),填充結(jié)果為 md5($_POST['password']) 值和 time() 函數(shù)值,get_client_ip 和 get_name 為 Common/common.php 自定義函數(shù).
get_name 函數(shù)將用戶名加上 th_ 前綴,參考如下:
PHP編程
代碼如下:
function get_name($name){??
return 'th_'.$name;??
}
如果函數(shù)需要參數(shù),則將填充字段作為參數(shù),如上面的 md5 和 get_name 函數(shù)填充.
ThinkPHP 自動(dòng)填充使用辦法callbackPHP編程
當(dāng)使用辦法 callback 填充時(shí),表示填充的內(nèi)容是一個(gè)當(dāng)前 Model 的辦法返回值,使用 callback 填充例子:
PHP編程
代碼如下:
class UserModel extends Model{??
protected $_auto = array (??
// 對(duì)username字段在新增時(shí)回調(diào)getName辦法??
array('username','getName',1,'callback'),??
);??
}
getName辦法將用戶名加上 th_ 前綴,參考如下:
代碼如下:
class UserModel extends Model{??
// 將傳入的username加上th_前綴??
function getName(){??
return 'th_'.$_POST['username'];??
}??
}
注:上述例子將 username 字段前自動(dòng)加上 th_ 前綴而填充到 username 中,僅是為了說明自動(dòng)填充使用函數(shù)或回調(diào)辦法的用法,可能并無實(shí)際生產(chǎn)意義
希望本文所述對(duì)大家的ThinkPHP框架程序設(shè)計(jì)有所幫助.PHP編程
維易PHP培訓(xùn)學(xué)院每天發(fā)布《PHP應(yīng)用:ThinkPHP自動(dòng)完成中使用函數(shù)與回調(diào)方法實(shí)例》等實(shí)戰(zhàn)技能,PHP、MYSQL、LINUX、APP、JS,CSS全面培養(yǎng)人才。
轉(zhuǎn)載請(qǐng)注明本頁網(wǎng)址:
http://www.snjht.com/jiaocheng/13550.html