程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP:風雨欲來 路在何方?

PHP:風雨欲來 路在何方?

編輯:PHP綜合

PHP4:奇跡背後

1995年時,Rasmus在用PHP寫他的個人主頁;今天,PHP成為風靡全球的腳本語言,越來越多的站點選擇使用PHP,連Yahoo都放棄了自己的腳本而改用PHP支持它的網站。可以說,PHP是一個奇跡。我一直認為,任何奇跡背後都有它的原因。現在,就讓我們透過這個奇跡,來看看PHP的成功之道。

1 簡單易用

PHP的入門門檻很低,它對使用者的要求微乎其微。學過C語言的人,使用PHP幾乎不需要什麼時間。它們的語法是如此相似,以至於我常常想,是不是在C語言變量前加個$就能改成PHP。這使得大量C程序員在網絡腳本中選擇了PHP。另外,比起ASP的組件系統和Java龐大的類庫來,PHP的函數庫要好學多了。在編程風格上,PHP更是自由,你可以使用N種風格來寫你的腳本程序。這些特性使得PHP成為初學者的首選語言。搶占初學者市場是很重要的策略。如同任何人都會對自己的初戀記憶猶新一樣,人們往往會對最初學習的語言有很深的感情。即使後來自己成長了,改用其他語言了,還是會時時記起最初學習的語言。在這點上,PHP做得很出色。

2 剪裁得當

PHP開發組是最了解網絡的一群人,他們非常清楚用戶要的是什麼。PHP就是要做一個出色的網絡腳本語言,而且,它只是要做一個網絡腳本語言。PHP提供的函數集在網絡方面相當強大,而且重點均專注於網絡應用。像PHP中的無組件文件上傳,超多數據庫支持等特性都表現出這個特點。順便說一句,PHP甚至支持ACCESS數據庫。專注使得PHP在網絡上表現出極其優秀的性能。有失才能有得。

3 支持強大

PHP有強大的OpenSource團體支持,在網絡上有數以萬計的開源代碼。你可以整合幾個現有程式來實現你的應用,也可以分析大師級的代碼來得到提高。PHP還有很多擴展性的項目來增強PHP在某個方面的功能。像注重編程規范化和代碼重用的PEAR,提供可編譯模板技術的Smarty,甚至開發桌面程序的GTK。

分析完這幾個理由,我們可以看出,PHP的成功得益於PHP開發組的戰略眼光。PHP提供了一個最小工作集,使用戶能用最簡單的方式高效地完成自己需要的應用。這正是初學者需要的。然後它通過方便的擴展來提供各個方面的解決方案,這樣,你只需要學你要用到的那個領域的東西。當你涉及的領域越來越多時,你的水平也隨之提高,當你熟悉了大多領域時,回頭看看,會發現不知不覺已到山腰。PHP也提供了我們一種學習態度。

ASP.net+J2EE:風雨欲來

網絡腳本界的革新浪潮由Microsoft的ASP.net首先發起。在ASP.net中,有一個很吸引人的東西——事件驅動機制。這在桌面編程中是很普通的概念,而在腳本編程中事件驅動意味著對服務器端的腳本(如PHP、JSP、ASP)和客戶端的腳本(如JavaScript和VbScript)進行封裝,使之協同工作。這樣一來,編程就會變得異常方便。在.net環境中的事件驅動還有一個優勢,就是你甚至可以不會任何服務器端腳本和客戶端腳本,因為在ASP.net中,是可以直接使用C#這樣的語言的——連$都不用加。這為MS陣營的傳統程序員轉向網絡開發鋪平了道路,同時,也使PHP在初學者市場上受到很大的打擊。可以預見,以後的傳統程序員轉向PHP的將大為減少。不過ASP.net最大的問題在於它只能在Windows上運行,而現在大陸正在大力發展Linux。這使得PHP的生存空間似乎寬了點,但是——讓我們來看看Java吧。

Java也是一個奇跡,1995年發布第一個版本,現在形成三個版本,分別覆蓋嵌入式系統(J2me)桌面程序(J2se)和服務器(J2ee)三大應用領域。更重要的是,Java得到了絕大多數程序員的認可,現在世界上最出色的計算機書籍多是以C++或者Java作為描述語言的。Java幾乎像C一樣,成為一種信仰。所以,我們不要妄想Java陣營的程序員會轉向PHP。同時,在同是開源和跨平台的Java面前,PHP丟掉了不少優勢。J2ee中的JSP又在初學者市場對PHP造成相當的壓力。

在曾經使PHP成功的初學者市場、易用性和開源支持等方面都受到挑戰,而隨著機器性能的不斷提高,大家對效率的要求漸漸降低的情況下,可以說,PHP要在ASP.net和J2EE的狹縫中生存並壯大,是一件很不容易的事情。

而PHP本身還有不少問題。像低層用戶過多。大量的開發者處於入門階段,不知道如何提高自己,導致大量開源代碼不規范和低效率,而又會又下一批初學者從這些糟糕的代碼中學習,如此遞歸。另一方面,高階用戶卻因為PHP的面向對象特性不完整等原因而不得不轉向其他語言以開發大型應用。


PHP5:濃濃咖啡味

PHP開發組在今年年中發布了PHP5的BETA1,我們可以從中看見PHP的反擊。首先,PHP4的開發仍然馬不停蹄,而且我們可以肯定,PHP4的開發還將持續很長一段時間。這樣做的目的是鞏固既有用戶,同時在將來的PHP4版本中逐漸融合部分PHP5的新特性,實現PHP4到PHP5的平滑過渡。

再來看PHP5的變化。在PHP5中,我們看到了太多Java的影子。OO體系幾乎是COPY的Java的,這保證了PHP高階用戶不流失,使得他們能方便的使用最新的技術體系來架構自己的應用。另一方面,也為Java程序員使用PHP提供了方便,雖然這樣的情況可能比較少。在完善了OO體系後,PHP具備了真正進入企業級市場的能力。然後PHP5也添加了不少自己的東西,像__get,來使這個體系更易用。不知道的是,這杯cappuccino是否會像Java般受歡迎呢?

從PHP5的改變中,我們看出了PHP將來的方向。一是和JSP競爭,爭取在某一些方面取代JSP,成為粘合JavaBeans和Servlet的膠水。這要求PHP和Java之間建立更為緊密的關系。Zend小組正在參與JSR規范的指定。這個規范將使得你可以在PHP中直接new一個Java對象並調用它的方法。這樣也能使PHP更快的進入企業級市場。另外,如果PHP編寫的腳本能被直接編譯成Binary Code在Jvm上運行的話,PHP的前景會好很多。另一個方向是做Java和.net間的集成,在一些大型的應用中整合已有資源。PHP4中我們已經可以調用com組件和Java對象,相信在將來PHP5將對此提供更多的支持。

不管怎麼樣,無論是和J2ee和.net競爭還是融合,PHP要走的,將是一條滿是荊棘的路。不過既然PHP已經一路風雨地走到了今天,我們有什麼理由不相信它能走得更遠呢?

Best Wishes, PHP.

 

PS 這只是Easy對PHP將來發展的一點個人看法,可能不是很成熟,只是給大家一點參考。

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved