開篇
這不但是Zend Framework的入門教程,還是對ZF應用層面的一個深入解讀。希望帶給大家一次愉快的學習過程。
1,php發展現狀—面向過程和面向對象
PHP的發展也不是一帆風順:從2000年左右PHP3.0的風行,到2005年PHP一度陷入低谷,再到現在PHP的再度崛起,PHP走過了一條曲折的道路。PHP從5.0開始,面向對象的功能趨于完善,然后是Zend Framework的發布,能夠看出Zend公司向企業開發市場進軍的意圖和雄心。
PHP在4.0之前,主要以面向過程的開發為主,代碼中包含著大量的系統函數和用戶自定義函數。但是即使PHP5.0之后充分考慮了對類和對象的支持,但是大多數程序員的代碼中真正應用對象的時候并不多,程序員還是習慣像asp一樣書寫結構化的面向過程的代碼。面向對象的好處并沒有被大家充分挖掘出來。
2,框架的概念
框架就是提供一種可以在多個應用程序中使用的設計。所有應用程序都有大量通用的基本的東西,比如類與數據庫的接口、某些程序邏輯、應用程序呈現給用戶的內容等等。如果大家編寫過許多 PHP 應用程序,就會知道這些東西是什么。大家可能編寫過一組函數,從數據庫中讀取數據,或向數據庫中寫入數據;可能已經使用過諸如 Smarty 之類的模板引擎。如果大家編寫過很多應用程序,則可能一次又一次地做過相同的某些工作。有時還會將一個應用程序中的代碼復制、粘貼到另一個應用程序中。
框架專門用于為這些常用的操作(數據庫交互、表示層、應用程序邏輯)提供結構,以便程序員可以花費更少的時間來編寫數據庫接口代碼或者表示層接口,而花費更多的時間和精力來編寫應用程序本身的業務邏輯。以這種方式分解應用程序,這種架構被稱為模型-視圖-控制器(Model-View-Controller,MVC)。模型指數據,視圖指表示層,而控制器指應用程序邏輯或業務邏輯。(MVC的具體概念和解釋大家可以上網去搜索)。
3,框架選擇—向企業開發市場進軍:Zend Framework(簡寫為ZF)
每種語言幾乎都有若干個框架可用。選擇剛好滿足業務需求的框架可能有點為難,但是選擇框架時應當要求其節省的時間和精力越多越好。如果一個框架工作得很好但是耗費大量的支持成本;或者即使易于支持,但是起到的反作用大于正面輔助開發作用,那也不是一個好的框架。如果一個框架十分“優雅”,但是在支持和開發中問題頻發,那么這個框架也是沒有任何用處的。
選擇框架時,要考慮客戶、程序員和所有相關人員的意見。并且在評估時,考慮到各種影響。還要進一步考慮項目要求,看是不是真的需要一個框架。框架不是必需的,即使不使用框架,也完全可以編制應用程序。
我們需要考慮:框架會對項目有幫助么?它是否會節省每個人的時間和精力?應用程序在框架中是否會執行得更好?……如果所有答案都為否,那么使用框架只會把事情變得復雜。
目前流行和比較流行的PHP框架已經不少,例如Zend 框架,CodeIgniter,symfony,CakePHP,FleaPHP等。選擇學習一個框架可能全憑個人愛好,但從發展前途和流行程度考慮,我選擇了Zend公司自己開發的框架Zend Framework,主要原因是ZF系出名門,并且是正宗嫡親。并且ZF和現在流行的Ruby On Rail(RoR)在設計上有許多相似的地方,學習ZF對以后從事RoR開發可能也會有所幫助。
4,學習ZF必須的軟件和推薦的環境
所有軟件的學習(和開發)都必須從搭建環境、安裝軟件開始。本次也不例外。雖然這些工作經常是系統管理員的分內工作,但是作為程序員,親自做這些工作,熟悉軟件的環境搭建、配置,會對程序開發帶來很大的好處,因為環境配置有時和代碼有直接的關系。
可能不同以往的是,由于我們是在開源的大環境下工作,所以我們的軟件來源就是去網上下載。雖然PHP是“LAMP”(linux、Apache、MySQL、PHP)的一員,但是在學習和開發時,一般習慣在Windows下進行,原因是Windows使用方便,并且在Windows下開發、在Linux下部署,可以檢驗代碼在不同OS下的表現。
ZF學習強烈建議在Apache環境下進行,原因以后會重點講解。在Apache下調試完畢,可以在IIS下測試—IIS同樣需要做額外的配置,以后也會重點講解。同樣強烈建議在Apache下而不是在IIS下,開發和部署實際的軟件項目。
5,需要的軟件:
Windows Server2003+SP2
mySQL for Windows:一般和Windows安裝在一臺機器上。也可以不在同一臺機器上,也可以是mySQL for Linux。下載地址:http://www.mysql.cn。
Apache for Windows:Apache現在的版本是2.2以上版本。下載地址:http://httpd.apache.org。
PHP及其附屬軟件:本教程用PHP-5.2.5。安裝了ZendOptimizer-3.2.6-Windows-i386.exe。下載地址:http://www.php.net/downloads.php。
Zend Framework:Zend Framework 要求PHP 必須是5.1.4 或以后版本,建議最好是5.2.2或以后版本。1.5.2是ZF的最新版本。我的教程是在ZF1.5.1下調式的,與ZF1.5.2差別應該不大。下載地址:http://framework.zend.com
新聞熱點
疑難解答