程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> ThinkPHP中的三大自動簡介

ThinkPHP中的三大自動簡介

編輯:PHP綜合

本文較為詳細的講述了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頁面如下:

<form action="__URL__/regadd" method="post">
 用戶名:<input type="text" name="username" /><br />
 密碼:<input type="password" name="password" /><br />
 重復密碼:<input type="password" name="repassword" /><br />
 注冊時間:<input type="text" name="createtime" /><br />
 注冊IP:<input type="text" name="createip" /><br />
 <input type="submit" value="注冊" />
</form>

aoli/Home/Lib/Model/UserModel.class.php頁面如下:

<?php
class 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有一定的幫助作用。

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