ThinkPHP中的三大自動(dòng)簡介
本文較為詳細(xì)的講述了ThinkPHP中的三大自動(dòng),是非常重要的應(yīng)用,分享給大家供大家參考。具體如下:
一、自動(dòng)驗(yàn)證
格式如下:
array('驗(yàn)證字段','驗(yàn)證規(guī)則','錯(cuò)誤提示','驗(yàn)證條件','附加規(guī)則','驗(yàn)證時(shí)間')
參數(shù)說明:
驗(yàn)證字段:需要驗(yàn)證表單字段名稱
驗(yàn)證規(guī)則:必須要結(jié)合附加規(guī)則一起使用
錯(cuò)誤提示:如果出現(xiàn)錯(cuò)誤,拋出一個(gè)什么樣的錯(cuò)誤提示告知用戶
驗(yàn)證條件:0、1、2
附加規(guī)則:1、regex使用正則驗(yàn)證 2、function使用函數(shù)驗(yàn)證 3、callback回調(diào) 4、confirm驗(yàn)證表單當(dāng)中兩個(gè)字段是否相同 5、驗(yàn)證是否等于某個(gè)值 6、in是否在某一個(gè)范圍內(nèi) 7、驗(yàn)證是否唯一
TP封裝:require 字段必須驗(yàn)證;eamil 驗(yàn)證郵箱;url 驗(yàn)證url地址;currency 貨幣;number 數(shù)字;
驗(yàn)證時(shí)間:指數(shù)據(jù)庫操作時(shí)間的驗(yàn)證時(shí)機(jī),新增數(shù)據(jù)時(shí)驗(yàn)證Model::MODEL_INSERT;編輯的時(shí)候驗(yàn)證Model::MODEL_UPDATE;全部情況下驗(yàn)證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 /> 重復(fù)密碼:<input type="password" name="repassword" /><br /> 注冊時(shí)間:<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{//對應(yīng)數(shù)據(jù)庫中的表user protected $_validate=array( array('username','require','用戶名必填'), array('username','checklen','用戶名長度過長或過短',0,'callback'), array('password','require','密碼必填'), array('repassword','require','重復(fù)密碼必填'), array('password','repassword','兩次密碼不一致',0,'confirm'), array('createtime','number','您輸入的不是數(shù)字'), 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()); } } } ?>
二、自動(dòng)完成(自動(dòng)填充)
自動(dòng)完成也是ThinkPHP當(dāng)中的一個(gè)成員方法,在create的時(shí)候,自動(dòng)執(zhí)行
規(guī)則如下:
array('填充字段','填充內(nèi)容','填充條件','附加規(guī)則');
簡單示例如下:
protected $_auto = array ( //array( 'status','1'), // 新增的時(shí)候把 status 字段設(shè)置為 1 array('password','md5',1,'function') , // 對 password 字段在新增的時(shí)候使 md5 函數(shù)處理 array('createtime','time',3,'function' ), // 對 create_time 字段在更新的時(shí)候?qū)懭氘?dāng)前時(shí)間戳 );
二、自動(dòng)映射(字段映射)
自動(dòng)映射:將數(shù)據(jù)庫的字段映射成別名,在表單中就可以使用別名了。
簡單示例如下:
protected $_map = array( 'name' => 'username', 'pass' => 'password', );
詳細(xì)本文所述技巧對于大家學(xué)習(xí)及使用ThinkPHP有一定的幫助作用。
- Thinkphp5.0自動(dòng)生成模塊及目錄的方法詳解
- thinkPHP5.0框架自動(dòng)加載機(jī)制分析
- ThinkPHP3.1新特性之動(dòng)態(tài)設(shè)置自動(dòng)完成和自動(dòng)驗(yàn)證示例
- thinkphp在模型中自動(dòng)完成session賦值示例代碼
- thinkPHP自動(dòng)驗(yàn)證、自動(dòng)添加及表單錯(cuò)誤問題分析
- ThinkPHP中create()方法自動(dòng)驗(yàn)證表單信息
- thinkPHP框架自動(dòng)填充原理與用法分析
- thinkPHP線上自動(dòng)加載異常與修復(fù)方法實(shí)例分析
- ThinkPHP5.0框架使用build 自動(dòng)生成模塊操作示例
相關(guān)文章

在PHP語言中使用JSON和將json還原成數(shù)組的方法

PHP網(wǎng)頁游戲?qū)W習(xí)之Xnova(ogame)源碼解讀(十二)

讓Laravel API永遠(yuǎn)返回JSON格式響應(yīng)的方法示例

laravel 解決多庫下的DB::transaction()事務(wù)失效問題

Zend Framework教程之響應(yīng)對象的封裝Zend_Controller_Response實(shí)例詳解

PHP curl模擬登錄帶驗(yàn)證碼的網(wǎng)站