Part 1:簡介 PHP是一種易於學習和使用的服務器端腳本語言。只需要很少的編程知識你就能使用PHP建立一個真正交互的WEB站點。 PHP是能讓你生成動態網頁的工具之一。PHP代表:超文本預處理器(PHP: Hypertext Preprocessor),是完全免費的軟件。PHP在大多數Unix平台,GUN/Linux和微軟Windows平台上均可以運行。怎樣在Windows環境的PC機器或Unix機器上安裝PHP的資料可以在PHP官方站點上找到,安裝過程也很簡單。
PHP的先進之處 學習過程 我個人更喜歡PHP的非常簡單的學習過程。與Java和Perl不同,你不必把頭埋進100多頁的文檔中努力學習才可以寫出一個象樣的程序。只要了解一些基本的語法和語言特色,你就可以開始你的PHP編碼之旅了。之後你在編碼過程中如果遇到了什麼麻煩,還可以再去翻閱相關文檔。 PHP的語法類似於C,Perl,ASP或者jsp。對於那些對上述之一的語言較熟悉的人來說,PHP太簡單了。相同的,如果你對PHP了解較多,那麼你對於其他幾種語言的學習都很簡單了。 你只需要30分鐘就可以將PHP的核心語言特點全部掌握,你可能已經非常了解Html,甚至你已經知道怎樣用編輯設計軟件或者手工來制作好看的WEB站點。由於PHP代碼能夠無障礙的添加進你的站點,在你設計和維護站點的同時,你可以很輕松的加入PHP使得你的站點更加具有動態特性。 數據庫連接 PHP可以編譯成具有與許多數據庫相連接的函數。PHP與mysql是現在絕佳的組合。你還可以自己編寫外圍的函數取間接存取數據庫。通過這樣的途徑當你更換使用的數據庫時,可以輕松的更改編碼以適應這樣的變化。PHPLIB就是最常用的可以提供一般事務需要的一系列基庫。 可擴展性 就像前面說的那樣,PHP已經進入了一個高速發展的時期。對於一個非程序員來說為PHP擴展附加功能可能會比較難,但是對於一個PHP程序員來說並不困難。 面向對象編程 PHP提供了類和對象。基於web的編程工作非常需要面向對象編程能力。PHP支持構造器、提取類等。 可伸縮性 傳統上網頁的交互作用是通過CGI來實現的。CGI程序的伸縮性不很理想,因為它為每一個正在運行的CGI程序開一個獨立進程。解決方法就是將經常用來編寫CGI程序的語言的解釋器編譯進你的web服務器(比如mod_perl,JSP)。PHP就可以以這種方式安裝,雖然很少有人願意這樣以CGI方式安裝它。內嵌的PHP可以具有更高的可伸縮性。 更多特點 PHP的開發者們為了更適合web編程,開發了許多外圍的流行基庫,這些庫包含了更易用的層。你可以利用PHP連接包括Oracle,MSAccess,Mysql在內的大部分數據庫。你可以在蒼蠅上畫圖,編寫程序下載或者顯示email。你甚至可以完成網絡相關的功能。最好的是,你可以選擇你的PHP安裝版本需要哪些功能。引用Nissan的Xterra的話來說就是:PHP可以做到你想讓它做到的一切而且無所不能! 為什麼要選擇PHP
2. 競爭對手:ASP,mod_perl,JSP 用於實現交互式動態網頁的技術有好多,其中CGI又稱通用網關接口(Common Gateway Interface),是外部程序和WEB服務器之間的標准編程接口,但是CGI程序帶來的缺點實在太多;而Perl很好地解決了CGI中的問題,被用來驅動復雜的WEB技術;微軟的ASP(Active Server Pages)的出現,以它容易上手、輕松編寫程序和微軟件強有力的支持後盾使得ASP一下子成了許專業編程人員和非專業編程人員的寵兒;Middle ware和Allaire的Cold Fusion是另一種解決方法,並且Cold Fusion有一個已證實可靠的搜索引擎組件;JSP 是Sun公司推出的新一代站點開發語言等等。有這麼多的動態WEB技術,也許你會問:“為什麼我要選擇PHP呢?” 在回答這一問題之前,讓我們先來看看ASP,PHP和JSP之間的優缺點。 2.1 關於ASP ASP 由於其簡單功能實用等方面受到廣大朋友的喜歡,再加上MS的強有力支持,可以說是時下作站點最為流行的語言之一,他借助MS的Com+ 技術,幾乎可以實現在C/S 能夠實現的所有功能,可以說確實具有相當的競爭力。ASP的代碼實現也很簡單,MS 提供的InterDev 在RAD 的基礎上,使ASP 的開發一夜之間火遍了大江南北。但是他的缺點是,由於MS 長久以來的霸道作風,他只能運行在MS的平台上,因此在關鍵性的應用上使人難以輕易接受。 2.2 關於JSP JSP 是Sun公司推出的新一代站點開發語言,他完全解決了目前ASP,PHP的一個通病腳本級執行(現在PHP4 也已經在Zend 的支持下,實現編譯運行).Sun 公司借助自己在Java 上的不凡造詣,將Java 從Java 應用程序 和 Java Applet 之外,又有新的碩果,就是JspJava Server Page。Jsp 可以在Serverlet和JavaBean的支持下,完成功能強大的站點程序。 據我所知,JSP基於Java,因此Java程序員可以輕松開始編碼。ASP只是一個一般的引擎,具有支持多種語言的能力,不過默認的並且是最常用的還是VBScript。mod_perl與Perl一樣強大,只是更快一些。 對於ASP、JSP、PHP等,到底哪種語言更好?不同的人有不同的看法。不過有一點我們必須要明確的:對於ASP、JSP等,你是否清楚購買它們會有多昂貴以及它們需要多麼昂貴和強大的硬件。如果你有什麼中立的觀點(比如說沒有被SUN和Microsoft的百萬美金所影響),請順便通知我。 2.3 關於PHP PHP 是秉承Linux 的GNU 風格,借助與源碼公開,使他迅速成為世界上目前應用最為廣泛的站點制作語言之一。借助與C++的形式,引用類的概念,使得代碼的可重復性應用便的異常簡單。加上他和Linux,Apache 和MySql 的緊密配合,關鍵性的應用也沒有問題(有名的Sina就是采用Php)。同時,PHP第四代Zend(PHP4)的核心引擎正式版也已經發布了,整個程序的核心得到了大幅度的改進,讓PHP程序的執行速度變得更快。PHP在最佳化之後的效率,已比傳統CGI或者ASP等程序有了更好的表現。而且正因為PHP是免費的,因此任何人都可以訪問PHP WEB站點,下載完整的源代碼。更重要的是:用PHP編寫的代碼執行起來會更快,能實現同樣功能的PHP代碼,不用改變就可以在不同的WEB服務器上、不同的操作系統下運行。就憑這一點,你就已經有足夠的理由選擇PHP。