微軟的ASP是一項強大的動態WEB頁面技術,我已經使用了一年的ASP,用它創建了許多的WEB站點,但是現在我的公司正想轉向另一項叫PHP的INTERNET技術,來進行以後的WEB站點開發。 問題是我們已經習慣於使用ASP,並且喜歡用它,為什麼我們要轉向PHP呢? 開放源碼運動 首先,我們認識到,開源運動使我們獲得了強大的技術支持和免費的代碼供應。例如:在ASP中,上傳文件、加密密碼、發送郵件都需要第三方的商業軟件的支持,是要收費的;但在PHP中,這一切是免費的! 但這還不足以說服我們轉向PHP,因為我們已經投入了大量的時間和金錢在這些必需的商業軟件工具上。 INTERNET程序和LINUX 我有一個夢想,我希望在將來每一個程序都是一個INTERNET程序。不用再需要購買軟件包,不要再去安裝它,它們能在INTERNET上得到,並且已經是安裝好的,我們只要在浏覽器中運行程序,這不會需要太多的配置。 大部分的網絡應用程序都運行在LINUX和PHP上。它們通常不使用ASP,有一種軟件叫Chilisoft ASP,它能在LINUX上運行ASP,但它是要錢的,同時它也不支持最新版的ASP,更重要的是創建高性能ASP站點所用的好的第三方DLL都不能運行在LINUX上。 於是,為了實現我們的INTERNET軟件夢想,我們決定尋找一種更好的,接近於ASP的技術來替代它! ISAPI的支持 ZEND團隊正在開發的PHP核心引擎中就包括一個ISAPI引擎。 ISAPI是一種MICROSOFT的INTERNET WEBSERVER API,它的應用,使我們這些習慣於在WINDOWS下開發程序的程序員有了一條通向LINUX的捷徑。 技術分析 每個人都聲稱自己的產品最快,這不是我真正關心的---我只關心“足夠快”,對我來說,PHP足夠快! ASP支持多種程序語言。這種體系使得程序天生就帶有慢和多內存占用,它的每一種語言解析就相當於一個PHP編譯,(就是說,當ASP開始解析一條代碼時,它相當於同時開動多個PHP),當ASP解析到一個ASP開始標記(<%)時,它需要跳出HTML解析進程而去選擇另一個適當的解析進程,當它解析到一個ASP結束標記時,它又得退回到HTML解析進程。 同時,ZEND打算發布一個可以保護我們源代碼的編譯器,以及各種不同的優化技術(Zend Cache and Optimizer),甚至於實現PHP在WINDOWS下的良好應用,無疑,PHP在這一方面又將強於ASP! 一個使用PHP的商業決定 相對於PHP來說,這裡有許多其它的開放源碼選擇,比如說perl,python/zope and jsp/tomact。對我來說,PHP最接近於ASP,同時也易於轉換! Perl: 一種不適用於大項目的語言. Python/Zope:一種很好的語言,但它的體系不如PHP那般的接近ASP. JSP/Tomcat: 我認為,比起腳本語言來,type-safe, type-bound, type-checking Java 不太好操作! 代碼 我們注意到,我們用PHP開發的代碼比用ASP開發的要短,這是因為,在PHP中HTTP GET和POST變量自動創建為全局變量,這樣我們就不要再花費太多的時間去分析ASP REQUEST對象了。 同時PHP的include()函數非常好,我們能有條件的include代碼,以使我們的代碼盡量精簡,更加易懂! PHP有著相似於ASP的COOKIE和SESSION管理功能。 結論: 我現在還在使用PHP,在所有的地方使用“$”這個符號,它是非常酷的,同時它也是我最喜歡的一個符號!:)