ThinkPHP中的三大自動簡介,ThinkPHP三大簡介
本文較為詳細的講述了ThinkPHP中的三大自動,是非常重要的應用,分享給大家供大家參考。具體如下:
一、自動驗證
格式如下:
array('驗證欄位','驗證規則','錯誤提示','驗證條件','附加規則','驗證時間')
參數說明:
驗證欄位:需要驗證表單欄位名稱
驗證規則:必須要結合附加規則一起使用
錯誤提示:如果出現錯誤,拋出一個什麼樣的錯誤提示告知使用者
驗證條件:0、1、2
附加規則:1、regex使用正則驗證 2、function使用函數驗證 3、callback回調 4、confirm驗證表單當中兩個欄位是否相同 5、驗證是否等於某個值 6、in是否在某一個範圍內 7、驗證是否唯一
TP封裝:require 欄位必須驗證;eamil 驗證郵箱;url 驗證url地址;currency 貨幣;number 數字;
驗證時間:指資料庫操作時間的驗證時機,新增資料時驗證Model::MODEL_INSERT;編輯的時候驗證Model::MODEL_UPDATE;全部情況下驗證Model::MODEL_BOTH;
aoli/Home/Tpl/default/User/reg.html頁面如下:
aoli/Home/Lib/Model/UserModel.class.php頁面如下:
<?phpclass UserModel extends Model{//對應資料庫中的表user protected $_validate=array( array('username','require','使用者名稱必填'), array('username','checklen','使用者名稱長度過長或過短',0,'callback'), array('password','require','密碼必填'), array('repassword','require','重複密碼必填'), array('password','repassword','兩次密碼不一致',0,'confirm'), array('createtime','number','您輸入的不是數字'), array('createip','email','郵箱格式不正確'), ); function checklen($data){ if(strlen($data)>15 || strlen($data)<5){ return false; }else{ return true; } } }?>
aoli/Home/Lib/Action/UserAction.class.php頁面如下:
<?php class UserAction extends Action { function reg(){ $this->display(); } function regadd(){ $user=D('user'); if($user->create()){ if($user->add()){ $this->success('註冊成功'); }else{ $this->error('註冊失敗'); } }else{ $this->error($user->getError()); } } }?>
二、自動完成(自動填滿)
自動完成也是ThinkPHP當中的一個成員方法,在create的時候,自動執行
規則如下:
array('填充欄位','填充內容','填充條件','附加規則');
簡單樣本如下:
protected $_auto = array ( //array( 'status','1'), // 新增的時候把 status 欄位設定為 1 array('password','md5',1,'function') , // 對 password 欄位在新增的時候使 md5 函數處理 array('createtime','time',3,'function' ), // 對 create_time 欄位在更新的時候寫入目前時間戳);
二、自動對應(欄位對應)
自動對應:將資料庫的欄位對應成別名,在表單中就可以使用別名了。
簡單樣本如下:
protected $_map = array( 'name' => 'username', 'pass' => 'password',);
詳細本文所述技巧對於大家學習及使用ThinkPHP有一定的協助作用。
thinkphp313 不可以自動載入函數
緩衝的問題,即時開啟了DEBUG 有時也會這樣,把runtime檔案夾刪了,如果你登陸了,請退出之後再登陸。
thinkphp自動驗證
你把$this->error()去掉,$User->getError()才能輸出。因為你上面已經顯示了,阻擋了後面的顯示。錯誤提示資訊是靠getError()得到才顯示的。
http://www.bkjia.com/PHPjc/868245.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/868245.htmlTechArticleThinkPHP中的三大自動簡介,ThinkPHP三大簡介 本文較為詳細的講述了ThinkPHP中的三大自動,是非常重要的應用,分享給大家供大家參考。具體如...