溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

如何在ThinkPHP中使用函數(shù)進行回調(diào)

發(fā)布時間:2020-12-23 15:11:45 來源:億速云 閱讀:419 作者:Leah 欄目:開發(fā)技術(shù)

本篇文章為大家展示了如何在ThinkPHP中使用函數(shù)進行回調(diào),內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

ThinkPHP 自動填充格式如下:

復(fù)制代碼 代碼如下:

array(填充字段,填充內(nèi)容[,填充條件][,附加規(guī)則])

附加規(guī)則,可選,包括:

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

function:使用函數(shù),表示填充的內(nèi)容是一個函數(shù)返回值。

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

field:字段,表示填充的內(nèi)容是一個其他字段的值。

ThinkPHP 自動填充使用函數(shù)function

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

使用函數(shù)填充例子:

復(fù)制代碼 代碼如下:

class UserModel extends Model{  
protected $_auto = array (  
// 對password字段在所有情況下使用md5函數(shù)處理  
array('password','md5',3,'function'),  
// 對regdate字段在新增時寫入當前時間戳  
array('regdate','time',1,'function'),  
// 對regip字段在新增時寫入用戶注冊IP地址  
array('regip','get_client_ip',1,'function'),  
// 對username字段在新增時使用自定義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_ 前綴,參考如下:

復(fù)制代碼 代碼如下:

function get_name($name){  
return 'th_'.$name;  
}


如果函數(shù)需要參數(shù),則將填充字段作為參數(shù),如上面的 md5 和 get_name 函數(shù)填充.

ThinkPHP 自動填充使用方法callback

當使用方法 callback 填充時,表示填充的內(nèi)容是一個當前 Model 的方法返回值,使用 callback 填充例子:

復(fù)制代碼 代碼如下:

class UserModel extends Model{  
protected $_auto = array (  
// 對username字段在新增時回調(diào)getName方法  
array('username','getName',1,'callback'),  
);  
}


getName方法將用戶名加上 th_ 前綴,參考如下:

復(fù)制代碼 代碼如下:

class UserModel extends Model{  
// 將傳入的username加上th_前綴  
function getName(){  
return 'th_'.$_POST['username'];  
}  
}


注:上述例子將 username 字段前自動加上 th_ 前綴而填充到 username 中,僅是為了說明自動填充使用函數(shù)或回調(diào)方法的用法,可能并無實際生產(chǎn)意義

上述內(nèi)容就是如何在ThinkPHP中使用函數(shù)進行回調(diào),你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI