過濾器(ZendFilter).ppt

上傳人:max****ui 文檔編號:15570077 上傳時間:2020-08-21 格式:PPT 頁數:16 大小:590.86KB
收藏 版權申訴 舉報 下載
過濾器(ZendFilter).ppt_第1頁
第1頁 / 共16頁
過濾器(ZendFilter).ppt_第2頁
第2頁 / 共16頁
過濾器(ZendFilter).ppt_第3頁
第3頁 / 共16頁

下載文檔到電腦,查找使用更方便

9.9 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《過濾器(ZendFilter).ppt》由會員分享,可在線閱讀,更多相關《過濾器(ZendFilter).ppt(16頁珍藏版)》請在裝配圖網上搜索。

1、第10章 過濾器(Zend_Filter),過濾器(Filter)是對輸入內容進行過濾,清除其中不符合過濾規(guī)則的內容,并將其余內容返回的過程。過濾器這一機制廣泛應用于Web用戶互動程序中,通過過濾器可以對用戶的輸入內容進行無害化處理。最常使用的就是清除指定內容中的HTML代碼,或者其中的回車換行符等。Zend Framework也提供了對過濾器的支持,使用Zend_Filter組件即可實現過濾器的功能。本章來介紹Zend Framework中的Zend_Filter過濾器組件。,10.1 過濾器的使用方法,對引言中過濾器的基本定義進行延伸,過濾器除了清除內容之外還包括一般化的對輸入數據的轉化。

2、作為使用過濾器的第一步,本節(jié)先來介紹過濾器的通常使用方法。本節(jié)內容包括如何使用單個過濾器與如何使用過濾器鏈。通過本節(jié)的介紹,讀者會對如何使用過濾器有一個深刻的認識。,10.1.1 使用單個過濾器,Zend_Filter中有一個Zend_Filter_Interface子類,該子類為實現一般過濾器提供了接口。要實現過濾器類,需要實現該接口中一個名為filter()的方法。通過filter()方法過濾掉指定內容中不需要的部分即可。 Zend_Filter中已經事先定義了很多常用的過濾器子類。要使用這些過濾器,首先要加載相應的組件,然后為類實例化對象,再調用對象的filter()方法即可。,,10.

3、1.2 使用過濾器鏈,過濾器除了單個使用之外,還可以將多個過濾器串連起來配合使用。過濾器鏈就是多個過濾器的一個連接。在對指定的內容進行過濾時,每個過濾器將按照其順序分別進行過濾或者轉化操作。當所有的過濾操作都被進行完時,過濾器鏈返回最終的過濾結果。 過濾器鏈與單一的過濾器一樣,也可以執(zhí)行Filter()方法,調用此方法即可對指定數據進行多重過濾或者轉化操作。,10.2 常用的預定義過濾器,名稱過濾內容Alnum所有非字母或數字的內容Alpha所有非字母的內容BaseName給定路徑所有非文件名部分Digits所有非數值的內容Dir給定路徑所有非目錄部分HtmlEntities替換HTML標記符

4、:“”Input(該過濾器較為特殊,將在10.3小節(jié)詳細介紹)Int非整數的內容RealPath所有非規(guī)范化的絕對路徑名StringToLower字母全部轉換為小寫StringToUpper字母全部轉換為大寫StringTrim字符串首尾的空格StripTags去除字符串的HTML內容表10.1中的Alpha、StringToLower、StringToUpper過濾器在前兩節(jié)介紹實例中已經做了介紹。本節(jié)將重點介紹剩余的Alnum、HtmlEntities、Int與StripTags過濾器。另外,Input過濾器比較特殊,將在本章10.3節(jié)中詳細介紹。除此之外的過濾器使用都非常簡單,這里不再贅

5、述。,10.2.1 Alnum字母或數值過濾器,使用Zend_Filter_Alnum過濾器可以對給定內容中的非數字也非字母的內容進行過濾。通過該過濾器的Filter()方法,將返回純數字與字母的內容,除此之外的其他內容都將被過濾。該過濾器可以看作是過濾器Zend_Filter_Alpha(過濾非字母)與Zend_Filter_Digits(過濾非數值)的并集。,,10.2.2 HtmlEntities HTML過濾器,Zend_Filter_HtmlEntities過濾器可以對給定內容中的HTML代碼進行過濾。該過濾器是對PHP函數:htmlentities()進行了封裝,所以通過此過濾器的

6、HTML內容都將被過濾掉。,,10.2.3 Int整型數過濾器,Zend_Filter過濾器中的Int過濾器可以對指定的數值進行整型轉換,即將非整部分過濾掉。該過濾器對要求輸入的內容僅為整數時就非常有用。,,10.2.4 StripTags HTML字符過濾器,Zend_Filter_StripTags過濾器的作用是將字符串中的HTML內容進行刪除。該過濾器與Zend_Filter_HtmlEntities過濾器不同,后者只是將“”符號進行轉換。而Zend_Filter_StripTags過濾器則是直接過濾掉被“”符號所包括的內容。,,10.3 Zend_Filter_Input過濾器,在所有

7、的預定義過濾器中,Zend_Filter_Input是最為特殊的一類過濾器。該過濾器的使用方法與其他過濾器的使用方法有很大不同,該過濾器專門用于實現對互動程序中用戶輸入數據的過濾。要實現該過濾器通常要分以下幾步: 定義過濾與校驗規(guī)則。 創(chuàng)建過濾與校驗處理器。 檢索處理后的字段與其他報告內容。 本節(jié)就按照上述使用順序來詳細介紹如何使用Zend_Filter_Input進行過濾操作。其中提到了關于校驗器的知識,關于這部分內容將在本書第派遣11章詳細介紹。,10.3.1 定義過濾與校驗規(guī)則,在創(chuàng)建一個Zend_Filter_Input類的實例之前,需要為該過濾器分別創(chuàng)建過濾規(guī)則與校驗規(guī)則數組。其中兩

8、個數組的鍵與值,為需要獲取前臺表單的表單項名稱,與相應對其進行處理的子類名稱。 如對用戶輸入的用戶名進行小寫轉換(StringToLower),對用戶輸入的年齡進行非數值過濾(Digits)。另外,還需要對用戶進行是否為字母的校驗。,,,10.3.2 創(chuàng)建Input過濾器,在定義完過濾與校驗規(guī)則之后,就可以創(chuàng)建Zend_Filter_Input過濾器了。該創(chuàng)建過程只需要為Zend_Filter_Input類使用new關鍵字實例化對象即可。在實例化對象時需要指明所定義的過濾與校驗規(guī)則。,10.3.3 檢索處理后的字段與其他內容,在定義了Zend_Filter_Input過濾器之后,就可以通過多種

9、方法來獲取其中的各項內容。其中包括無效內容(Invalid)、丟失的內容(Missing)和未知的內容(Unknown)等。當然最重要的還是返回經過處理之后的內容。,10.3.4 實戰(zhàn)Zend_Filter_Input,前面三節(jié)為讀者介紹了使用Zend_Filter_Input過濾器的過程。本節(jié)通過一個可執(zhí)行的實例來實際應用一下此過濾器。,10.4 創(chuàng)建自定義過濾器,通過對10.2節(jié)中的常用預定義過濾器的學習可以發(fā)現,Zend_Filter組件中已經預定義了很多常用的過濾器。但是僅憑這些系統(tǒng)預定義過濾器有時并不能完全滿足實際編程環(huán)境的需要。此時,用戶可以通過自定義過濾器來滿足自己更多的需要。Z

10、end_Filter支持自定義過濾器。本節(jié)就來介紹如何實現自定義過濾器。 要編寫自定義過濾器,需要定義一個類,并引用Zend_Filter_Interface接口。該接口定義了filter()方法,這個方法可以在用戶的類里被實現。用Zend_Filter::addFilter()可以把一個實現這個接口的對象添加到過濾器鏈。,10.5 小結,本章介紹了Zend Framework中的過濾器組件。使用Zend_Filter可以有效過濾用戶的輸入數據,這種機制廣泛應用于互動網絡應用程序中。使用過濾器過濾掉或者轉化用戶所輸入內容中的不合規(guī)則成份,一方面可以減輕程序對無用數據進行不必要的處理。另一方面也可以在某種程度上提高程序的安全性。,

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
5. 裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

相關資源

更多
正為您匹配相似的精品文檔

相關搜索

關于我們 - 網站聲明 - 網站地圖 - 資源地圖 - 友情鏈接 - 網站客服 - 聯系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網版權所有   聯系電話:18123376007

備案號:ICP2024067431-1 川公網安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務平臺,本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對上載內容本身不做任何修改或編輯。若文檔所含內容侵犯了您的版權或隱私,請立即通知裝配圖網,我們立即給予刪除!