欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

ThinkPHP自動完成中使用函數(shù)與回調(diào)方法實例

 更新時間:2014年11月29日 10:03:15   投稿:shichen2014  
這篇文章主要介紹了ThinkPHP自動完成中使用函數(shù)與回調(diào)方法,實例分析了ThinkPHP中自動填充的用法以及使用函數(shù)與回調(diào)的方法,是非常實用的技巧,需要的朋友可以參考下

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

ThinkPHP 自動填充格式如下:

復(fù)制代碼 代碼如下:
array(填充字段,填充內(nèi)容[,填充條件][,附加規(guī)則])

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

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

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

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

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

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

當(dāng)附加規(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字段在新增時寫入當(dāng)前時間戳  
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

當(dāng)使用方法 callback 填充時,表示填充的內(nèi)容是一個當(dāng)前 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)意義

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

相關(guān)文章

  • PHP面試題之文件目錄操作

    PHP面試題之文件目錄操作

    本篇文章是我在之前面試這家公司時遇到的問題,當(dāng)時代碼寫的不全,后來通過查閱相關(guān)資料,整理出來的一份分享給大家
    2015-10-10
  • thinkPHP分組后模板無法加載問題解決方法

    thinkPHP分組后模板無法加載問題解決方法

    這篇文章主要介紹了thinkPHP分組后模板無法加載問題解決方法,分析了thinkPHP分組后模板無法加載的原因與相應(yīng)的設(shè)置方法,需要的朋友可以參考下
    2016-07-07
  • PHP使用redis位圖bitMap 實現(xiàn)簽到功能

    PHP使用redis位圖bitMap 實現(xiàn)簽到功能

    這篇文章主要介紹了PHP使用redis位圖bitMap 實現(xiàn)簽到功能,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-10-10
  • Laravel相關(guān)的一些故障解決

    Laravel相關(guān)的一些故障解決

    這篇文章主要給大家介紹了關(guān)于Laravel相關(guān)的一些故障的解決方法,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用Laravel具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-08-08
  • php面向?qū)ο蠡A(chǔ)詳解【星際爭霸游戲案例】

    php面向?qū)ο蠡A(chǔ)詳解【星際爭霸游戲案例】

    這篇文章主要介紹了php面向?qū)ο蠡A(chǔ),結(jié)合星際爭霸游戲案例詳細(xì)分析了PHP面向?qū)ο箢悺⒗^承、重載、接口等相關(guān)概念與使用技巧,需要的朋友可以參考下
    2020-01-01
  • Yii+MYSQL鎖表防止并發(fā)情況下重復(fù)數(shù)據(jù)的方法

    Yii+MYSQL鎖表防止并發(fā)情況下重復(fù)數(shù)據(jù)的方法

    這篇文章主要介紹了Yii+MYSQL鎖表防止并發(fā)情況下重復(fù)數(shù)據(jù)的方法,分析了MySQL讀鎖定、寫鎖定及Yii實現(xiàn)MySQL讀寫鎖定的相關(guān)技巧,需要的朋友可以參考下
    2016-07-07
  • 實例講解php數(shù)據(jù)訪問

    實例講解php數(shù)據(jù)訪問

    這篇文章主要以實例講解的方式為大家詳細(xì)介紹了php數(shù)據(jù)訪問,數(shù)據(jù)訪問有兩種方式,本文為大家揭曉,感興趣的小伙伴們可以參考一下
    2016-05-05
  • PHP如何初始化PDO及原始SQL語句操作

    PHP如何初始化PDO及原始SQL語句操作

    PDO 已經(jīng)是 PHP 中操作數(shù)據(jù)庫事實上的標(biāo)準(zhǔn)。包括現(xiàn)在的框架和各種類庫,都是以 PDO 作為數(shù)據(jù)庫的連接方式?;旧现挥形覀冏约涸趯懞唵蔚臏y試代碼或者小的功能時會使用 mysqli 來操作數(shù)據(jù)庫。注意,普通的 mysql 擴(kuò)展已經(jīng)過時了哦!
    2021-06-06
  • PHP設(shè)計模式之適配器模式(Adapter)原理與用法詳解

    PHP設(shè)計模式之適配器模式(Adapter)原理與用法詳解

    這篇文章主要介紹了PHP設(shè)計模式之適配器模式(Adapter)原理與用法,結(jié)合實例形式詳細(xì)分析了適配器模式的概念、原理、使用方法及相關(guān)操作注意事項,需要的朋友可以參考下
    2019-12-12
  • PHP遞歸刪除多維數(shù)組中的某個值

    PHP遞歸刪除多維數(shù)組中的某個值

    這篇文章主要介紹了PHP遞歸刪除多維數(shù)組中的某個值,需要的朋友可以參考下
    2017-04-04

最新評論