程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 關於PHP編程 >> ThinkPHP3.1新特性之動態設置自動完成和自動驗證示例

ThinkPHP3.1新特性之動態設置自動完成和自動驗證示例

編輯:關於PHP編程

以往在ThinkPHP3.1版本之前,如果需要設置自動驗證或者自動完成,一般來說必須定義在模型中,或者通過setProperty方法動態設置屬性來完成,這樣做的缺點是不太方便動態改變和調整。

ThinkPHP3.1版本在模型類中增加auto和validate兩個連貫操作,用於動態設置自動完成和自動驗證規則,現在可以在Action中使用:

$validate = array(
  array('verify','require','驗證碼必須!'), 
  array('name','','帳號名稱已經存在!',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變量的規范和模型類的_auto和_validate屬性的定義規則一致,而且還可以支持函數調用(由於PHP本身的限制,在類的屬性定義中不能調用函數)。

auto和validate方法必須在create方法之前被調用。

通過這一改進,你完全可以通過M方法實例化模型類後使用動態設置完成自動驗證和自動完成操作,不必再依賴D方法了。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved