|
在Thinkphp3.1版本之前,如果需要設(shè)置自動驗證或者自動完成,必須定義在模型中,或者通過setProperty方法動態(tài)設(shè)置屬性來完成,但是這樣做的缺點是不太方便動態(tài)改變和調(diào)整 。
Thinkphp3.1版本在模型類中增加auto和validate兩個連貫操作,用于動態(tài)設(shè)置自動完成和自動驗證規(guī)則,現(xiàn)在可以在Action中使用,示例代碼如下:
$validate = array( array(verify,require,驗證碼必須!), array(name,,帳號名稱已經(jīng)存在!,0,unique,1), );$auto = array ( array(password,md5,1,function) , array(create_time,time,2,function), );M(User)->auto($auto)->validate($validate)->create();
其中$auto和$validate變量的規(guī)范和模型類的_auto和_validate屬性的定義規(guī)則一致,而且還可以支持函數(shù)調(diào)用(由于php本身的限制,在類的屬性定義中不能調(diào)用函數(shù)) 。
auto和validate方法必須在create方法之前被調(diào)用 。
通過這一改進,你完全可以通過M方法實例化模型類后使用動態(tài)設(shè)置完成自動驗證和自動完成操作,不必再依賴D方法了 。
php技術(shù):ThinkPHP3.1新特性之動態(tài)設(shè)置自動完成及自動驗證示例代碼,轉(zhuǎn)載需保留來源!
鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。