ZendFrameWork 做用概述
Zend Framework是一套網站開發框架,包含了MVC模式以及衆多解決特定問題的組件。
ZendFramework框架組件:
php
- Zend_Acl:爲權限管理提供輕量並靈活的訪問控制列表的功能
- Zend_Auth:爲認證和一些通用用例情景的具體認證適配器提供一個接口
- Zend_Cache:一個緩存任何數據的通常方法
- Zend_Captcha:提交數據的驗證,以判斷提交者是人仍是機器自動操做,防止被惡意提交
- Zend_Config:簡化訪問和使用配置數據
- Zend_Console_Getopt:命令參數的設置和讀取
- Zend_Controller:MVC的控制器★★
- Zend_Currency:處理全部關於貨幣、錢的表示和格式
- Zend_Date:處理日期和時間
- Zend_Db:操做數據庫★★
- Zend_Debug:輸出變量的值,只有一個方法Zend_Debug::dump($var, $label=null, $echo=true);
- Zend_Dojo:Dojo Toolkit工具,1.6.0版本新增
- Zend_Dom:爲使用DOM文檔和結構提供工具
- Zend_Exception:ZF拋出的全部異常都是Zend_Exception的子類的對象
- Zend_Feed:處理的RSS和Atom Feed
- Zend_File:處理文件的上傳和下載
- Zend_Filter:替換掉不須要不安全的數據★
- Zend_Filter_Input:多重數據過濾和校驗★
- Zend_Form:利用ZF多個組件對錶單的建立和處理進行簡化★
- Zend_Gdata:Google服務的接口○
- Zend_Http:執行HTTP請求,處理GET和POST等
- Zend_Infocard:信息卡認證與管理○
- Zend_Json:處理JS與PHP變量交換
- Zend_Layout:佈局,經常使用於模板,可脫離MVC使用
- Zend_Ldap:處理輕量級目錄訪問協議,這一組件極不完善
- Zend_Loader:加載的名稱是變量的文件,require_once的升級版
- Zend_Locale:本地化和國際化組件(L10n和I18n)
- Zend_Log:通用日誌組件,它支持多個日誌後端,格式化發送給日誌的消息,過濾被紀錄的消息
- Zend_Mail:通用功能用於撰寫和發送文本以及兼容MIME標準的含有多個段的郵件消息★
- Zend_Measure:處理度量衡的換算
- Zend_Memory:內存數據管理
- Zend_Mime:處理多段MIME消息的輔助類,在Zend_Mail和Zend_Mime_Message中使用了它,也可在須要MIME支持的應用程序中使用
- Zend_OpenId:OpenID的支持接口
- Zend_Paginator:數據分頁,或取得所需頁的數據★
- Zend_Pdf:加載存在的PDF文檔,生成新的、修改和保存修改後的PDF文檔
- Zend_ProgressBar:創建和控制進度條的組件
- Zend_Registry:處理對象註冊表(經過把對象存儲在其中,咱們能夠在整個項目的任何地方使用同一個對象,至關於一種全局存儲)
- Zend_Rest:REST是Web Service的一種,經過XML交換數據
- Zend_Search_Lucene:通用文本搜索引擎,不須要數據庫支持
- Zend_Server:基於Reflection API的標準機制,供服務器類開發者使用
- Zend_Service_Akismet:akismet.com的接口○
- Zend_Service_Amazon:amazon.com的接口○
- Zend_Service_Audioscrobbler:audioscrobbler.net的接口○
- Zend_Service_Delicious:del.icio.us的接口○
- Zend_Service_Flickr:flickr.com的接口○
- Zend_Service_Nirvanix:nirvanix.com的接口○
- Zend_Service_ReCaptcha:recaptcha.net的接口○
- Zend_Service_Simpy:simpy.com的接口○
- Zend_Service_SlideShare:slideshare.net的接口○
- Zend_Service_StrikeIron:strikeiron.com是商業組件提供者,使用SOAP提供商業接口○
- Zend_Service_Technorati:technorati.com的接口○
- Zend_Service_Yahoo:yahoo.com開發者的接口○
- Zend_Session:管理會話的接口★
- Zend_Soap:SOAP是Web Service的一種,經過XML交換數據
- Zend_Test:幫助開發者作ZF應用模塊測試
- Zend_Text:將英文字符轉化爲符號組成的圖
- Zend_Timesync:經過NTP或SNTP協議接受網絡時間
- Zend_Translate:爲多語言應用程序提供的解決方案
- Zend_Uri:輔助於操做和驗證URI
- Zend_Validate:數據有效性判斷,阻止不合法數據★
- Zend_Version:ZF版本比較和顯示
- Zend_View:MVC中的視圖★★
- Zend_Wildfire:幫助PHP與Wildfire客戶端進行數據交換○
- Zend_XmlRpc:XML-PRC目的是使用HTTP做爲傳輸協議、XML做爲編碼方式進行遠程過程調用
MVC模式
MVC模式存在的實質意義是將設計,編碼以及數據存取三部分分開,這樣可使設計人員,編碼人員,DBA各司其職,協同工做,MVC將一個項目分紅了三層:
模型層: 由真實數據的表示組成,在數據庫中的表示主體上「建模」了它們的結構,從而組成了模型層。
視圖層: 由一些邏輯組成,這些邏輯定義了數據如何展示,他並不關心這些數據是什麼,他只關心如何展示。該層不包括任何邏輯,只是將數據表現出來。
控制器: 定義了數據是什麼,控制器是存放邏輯的地方,在Zend框架中,該層控制了要執行的行爲。好比:若是咱們想顯示單個的某條信息,那麼職責就被解釋爲:信息對象具備一個控制器,該控制器定義了當調用顯示行爲時所發生的事情。該顯示行爲回調以從模型(或者說是數據庫,又或者是其餘的持久性數據容器)中獲取須要的數據,而後將這些字段(標題,內容之類),填入到視圖中,該視圖就將這些信息簡單的顯示到瀏覽器中。
使用Zend框架的編碼準則
當您爲Zend框架編碼或者使用Zend框架進行開發時,應當遵循默寫編碼準則,這些編碼準則是爲了使團隊開發變得簡單而設計的,這很重要,由於現階段的軟件開發大可能是團隊協同工做的。
1 確保文件整潔,在文件頭,標準的四格縮進前不能有任何前導或後置的空格,這些空格會調用Web服務器致使之外的發送內容。
2 在類成爲Zend框架的一部分時,類名以Zend_開頭,而不是在使用Zend框架時,類以Zend_開頭。
3 在函數名中下劃線是禁止的,而是以小寫字母開頭的,大小寫間隔的方式,如getTodayDate()
4 只有當變量是private或protected類型時,才如下劃線開頭
5 將全部的變量聲明爲private protected或者public,而不要使用var
6 使用標準的php標記: <?php ?> 而不是<? ?>
7 確保您的代碼利於閱讀,在操做符先後,加入空格。
8 若是必須經過引用傳值,那隻能在函數聲明時這樣作,調用時經過引用傳值是不容許的。
9 任何PHP文件都必須包括能被 PhpDocument 閱讀的文檔,而且編碼準則指定了特定的最少標記。
歡迎關注本站公眾號,獲取更多信息