掌握Thinkphp3 2 0 自動完成

2022-08-09 04:06:14 字數 1658 閱讀 7380

自動完成,是在create資料的時候自動執行的乙個或多個動作

自動完成也分為動態和靜態兩種

格式://完成規則

array(

array(完成欄位1,完成規則,[完成條件,附加規則]),

array(完成欄位2,完成規則,[完成條件,附加規則]),

......

);完成字段:必填,需要的欄位名;

完成規則:必填,配合附加規則完成;

完成條件:可選,具體如下:

1.self::model_insert 或 1,新增資料的時候處理(預設) ;

2.self::model_update 或 2,更新資料的時候處理;

3.self::model_both 或 3,所有情況均處理。

附加規則:可選,配合完成規則使用,包括一下規則:

規則 說明

function 函式完成,定義的驗證規則是乙個函式名

callback 方法完成,定義的驗證規則是當前模型類的乙個方法

field 用其他字段填充,表示填充的內容是乙個其他欄位的值

string 字串(預設)

ignore 為空則忽略(3.1.2新增)

1.靜態定義

1

在模型類裡預先定義好該模型的自動完成規則,就是靜態定義。

2class usermodel s extends

model

11為了測試方便,我們可以直接通過模擬提交 post:

12//

控制器create()方法自動呼叫驗證

13$user = d('user');

14$data['user'] = '蠟筆小新';

15if ($user->create($data

)) 18

//string,自動設定count欄位為1

19array('count', '1'),

20//

function,給密碼加密,加密型別為sha1,sha1函式php內建

21array('user', 'sha1', 3, 'function'),

22//

把email欄位的值填充到user欄位衝去

23array('user', 'email', 3, 'field'),

24//

callback,給使用者名稱加字首

25array('user', 'updateuser', 3, 'callback', '_'),

26//

**函式

27protected

function updateuser($str, $prefix

) 30

//ignore,用於修改時密碼留空時,忽略修改

31array('pass', '', 2, 'ignore'),

2.動態完成

1

//動態完成

2$rules = array(3

array('user', 'sha1', 3, 'function'),4);

5$user = m('user');

6$data['user'] = '蠟筆小新';

7 f if ($user->auto($rules)->create($data

))

掌握Thinkphp3 2 0 自動驗證

自動驗證是tp在create資料的時候,自動對資料進行驗證。tp提供了兩種驗證方式 靜態驗證 validate屬性 自定義的模型的 和validate 方法 1.靜態驗證 validate屬性 總體的格式 1 2namespace home model 3use think model 4class...

掌握Thinkphp3 2 0 標籤庫

1.什麼是內建標籤?什麼是標籤擴充套件庫?cx.class.php 和 html.class.php 2.怎麼載入非內建標籤,怎麼使用?兩種方式載入 3.怎麼擴充套件自定義的標籤?仿照html.class.php寫 仔細回答這3個問題 問題一 think library think template...

掌握Thinkphp3 2 0 模版基礎

我們將要學習一下 thinkphp 模版,thinkphp 內建了乙個基於 xml 的效能 卓越的模版引擎 thinktemplate,使用了動態編譯和快取技術,支援自定義標籤庫,其實我還體會不到其中的強大,慢慢體會吧 一 變數輸出 1.普通變數 控制器提供資料 1 給模版傳遞乙個變數 2 user...