在開始ZF擴展之前,推薦先看看ZF手冊中的一些命令規范(ZF推薦使用),同時希望讀者對ZF有較好的理解。如果沒有, " /> 国产一区二区三区四区五在线观看 ,24小时日本高清免费看,婷婷综合久久狠狠色

天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

php擴展ZF――Validate擴展

之前寫了一片文章關于如何在ZF0.6版本下擴展ZF的。這篇應該說是類似的文章,但環境換成ZF1.0RC1版本了。

     在開始ZF擴展之前,推薦先看看ZF手冊中的一些命令規范(ZF推薦使用),同時希望讀者對ZF有較好的理解。如果沒有,可以先上phpCHIAN的ZF版本詳細了解,或者到phpeye查找相關資料。

      ZF的validator提供了強大的驗證功能,但在實際的操作中還是過于煩瑣。比如說驗證郵件,是用ZF的代碼如下

<?php 

require_once 'Zend/Validate/EmailAddress.php'; 
$validator = new Zend_Validate_EmailAddress(); 
if ($validator->isValid($email)) { 
    // email appears to be valid 
} else { 
    // email is invalid; print the reasons 
    foreach ($validator->getMessages() as $message) { 
        echo "$message/n"; 
    } 

?> 

    有沒有發現,還是很類似我們不使用ZF的驗證方式。只不過ZF幫我們把郵件驗證的細節封裝好了。那么我們如何簡化成這樣效果呢?(下面是我擴展后的調用方式)

<?php 
$validate = new phpbean_Validate(); 
        $validate -> set_breakOnFailure(false); 
        $validate -> add('email',new Zend_Validate_EmailAddress(),'郵件地址不正確!'); 
        $validate -> add('username',new Zend_Validate_StringLength(3,15),'用戶名長度必須在3到15之間!/'%value%/'不滿足條件'); 
        $validate -> add('password',new Zend_Validate_StringLength(6,20),'密碼長度必須在6到20之間!'); 
        $validate -> add('password',new phpbean_Validate_isEqual($_POST['repassword']),'兩次輸入密碼不匹配'); 
        $authcode = new phpbean_Img_Code(); 
        $validate -> add('yanxue8_authcode',new phpbean_Validate_isEqual($authcode->authcode($_POST['yanxue8_authcode_mdcode'],'DECODE')),'驗證碼不匹配!'); 
        if( !$validate -> validator($_POST) ){ 
            error_page('注冊失敗',$validate->getMessageText()); 
        } 
?> 

    用上面這種方式一方面代碼清晰,另一方面也有利同意的出錯處理。那么如何做到這樣呢?
    關鍵是phpbean_Validate這個類。
    其實實現起來很簡單,phpbean_Validate::add()方法是把一條條的驗證規則加入進來。然后調用phpbean_Validate::validator()來驗證就OK了。
    具體實現步驟如下:
    首先,在zend的同級目錄中增加一個phpbean文件夾,然后在里面增加一個Validator.php文件。
    然后,在validator.php文件加入phpbean_Validate這個類的定義。注意(你可以修改成自己的文件名和路徑名,但注意一定要和類的名稱保持一致)。
    這里,我給出我的phpbean_Validate類的實現過程,僅供參考。

<? 
class phpbean_Validate{ 

    protected $_fileds =array(); 

    protected $_message = array(); 

    protected $_breakOnFailure = true; 

    public function set_breakOnFailure($value){ 
        $this->_breakOnFailure = $value; 
    } 

    public function add($key,$validate,$message='',$breakOnFailure=''){ 
        if( empty($breakOnFailure) ) $breakOnFailure = $this->_breakOnFailure;  
        $this->_fileds[] = array($key,$validate,$message,$breakOnFailure); 
        return $this; 
    } 

    public function validator($array = array()){ 
        if(empty($array)) $array = $_POST; 
        if (is_array($this->_fileds)) { 
            foreach ($this->_fileds as $filed){ 
                list($key,$validate,$message,$breakOnFailure) = $filed; 

                if(empty($key)){ 
                    if(!$validate){ 
                        $this->_message[][] = $message; 
                        if($breakOnFailure) break;  
                    } 
                    continue; 
                } 

                if(!empty($message)) $validate->setMessage($message); 
                if( !$validate->isValid($array[$key]) ){ 
                    $this->_message[$key][] = $validate->getMessages(); 
                    if($breakOnFailure) break;  
                } 
            } 
            if(!empty($this->_message))return false; 
            return true; 
        } 
        return true; 
    } 

    public function getMessage(){ 
        return $this->_message; 
    } 
    public function getMessageText(){ 
        $str = ''; 
        foreach ($this->_message as $ms){ 
            foreach ($ms as $m) $str .= $m[0]."/n"; 
        } 
        return $str; 
    } 

?> 


   另外你還可以直接擴展一些驗證規則類。下篇我再詳細說。 

php技術php擴展ZF――Validate擴展,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 久久综合久综合久久鬼色 | 性欧美video另类hd高清 | 最新老头恋老OLDMAN | 撕烂衣服扒开胸罩揉爆胸 | 欧美一级做a爰片免费 | 国产九九熟女在线视频 | 51xx午夜影视福利 | 亚洲AV久久无码高潮喷水 | 日日干夜夜啪蕉视频 | 好硬好湿好爽再深一点视频 | 国产亚洲国际精品福利 | 秋霞午夜理论理论福利无码 | 野花社区视频WWW高清 | 国产99r视频精品免费观看 | 国产精品人妻无码99999 | 国产精品麻豆高潮刺激A片 国产精品麻豆a在线播放 | 白丝制服被啪到喷水很黄很暴力 | 亚洲精品久久久久中文字幕二区 | 伦理片2499电影伦理片 | 麻豆精品无码久久久久久久久 | 99精品99 | 男女一边摸一边做羞羞的事情免费 | 国产在线观看www | 国产一区二区三区内射高清 | 亚洲AV国产福利精品在现观看 | 美女一级毛片免费不卡视频 | 精品无码久久久久久国产百度 | 小sao货ji巴cao死你视频 | 色婷婷国产麻豆AV | 乌克兰16~18sex | 91天堂国产在线 在线播放 | 中国午夜伦理片 | 菠萝蜜国际一区麻豆 | 99久久亚洲精品影院 | 在线免费观看成年人视频 | 麻豆传煤网站网址入口在线下载 | 国内精品日本久久久久影院 | 色欲蜜臀AV免费视频 | 亚洲 日韩 国产 中文视频 | 国产亚洲精品久久久久小 | 超碰97 总站 中文字幕 |