PHP發展的現狀和前景
本人小菜鳥一隻,為了自我學習和交流PHP(jquery,linux,lamp,shell,javascript,伺服器)等一系列的知識,小菜鳥建立了一個群。希望光臨本部落格的人可以進來交流。尋求共同發展。搭建平臺。
本人部落格也有許多的技術文件,希望可以為你提供一些幫助。
QQ群: 191848169 QQ:450225664
下面我們來看看別人說的PHP的發展前景:
鍾勝輝:三門語言當中,無疑php是最流行的,而Python和Ruby在最近幾年也有著不錯的發展趨勢。我個人認為,Ruby的流行更多地源於Ruby on Rails,這個框架的流行程度甚至超過了Ruby語言本身,也引發了其它語言平臺上對框架的研究。而Python在近來的被關注度和發展速度要超過Ruby,被一些喜歡創新的專案採用,這可能要更多地歸功於google。
這三種語言都是相當優秀的指令碼語言,為什麼PHP能大行其道,殺入排行榜的三甲呢?從表面上來看,這是就業環境使然。越來越多的新公司或者新專案使用PHP,這使得PHP相關社群越來越活躍,而這又反過來影響到很多專案或公司的選擇,形成一個良性的迴圈。就我目前瞭解到的情況,PHP是國內大部分web專案的首選,而且有很多公司從其它語言(如ASP,JAVA)轉到了PHP。合適的就是最好的,PHP的快速,開發成本低,週期短,後期維護費用低,開源產品豐富(這點可以影響到很多專案的決策),這些都是另外兩種語言無法比擬的。另外,在很多大專案中,Python更多地是做為一種“粘合劑語言”出現,似乎正在走向與PHP不同的發展方向,讓我們拭目以待。
51CTO記者:PHP開發框架的盛行是由RoR的火爆所引起的,而PHP框架的發展也從模仿Rails到逐漸有了自己的風格。不過仍然有很多入行較早的PHP開發者至今仍認為PHP這種快捷的語言不需要框架,甚至認為只要有優秀的架構,框架根本沒必要。您認為PHP框架對PHP而言是必要的麼?您對於PHP開發工具的現狀滿意麼?
鍾勝輝:這是一個見仁見智的問題,我個人認為,一個優秀的框架能在很大程度上提高工作效率,尤其是對大中型專案。當然如果對專案有足夠的把控能力,框架也並非是必須的,畢竟PHP的框架跟ROR的情況有所不同,多而混亂,而學習一個框架是需要時間的。像你的問題中提到的,很多老的PHP程式設計師對框架不屑一顧,認為自己對專案有足夠的把控能力,不需要框架這麼累贅的東西,然而從長遠來看,一個優秀的框架可以延長一個專案的壽命,降低維護和二次開發的成本。我們目前正在開發中的CMSTOP,是一個產品型專案,在這樣的專案中,沒有一個優秀的框架是很難想象的。在研究對比了目前主流的PHP框架之後,我們發現沒有哪個框架能完全適合一個CMS的專案,於是我們決定自己開發一個框架。目前這個框架極大地提高了我們的工作效率,而且,我們會在適當的時候將這個框架開源。
51CTO記者:PHP的面向物件設計的並不是很好。很多在Java一類語言裡面可以很好應用的面向物件寫法在PHP裡面實現起來卻很繁瑣。您認為面向物件對於PHP這樣的Web開發語言來說重要麼?PHP的面向物件是否還能夠改進呢?
鍾勝輝:PHP的面向物件屬於歷史遺留問題,而且,說其不好,慢慢也會成為歷史問題。從PHP5相對PHP4的進步,我們有理由去期待PHP6給我們帶來更多的驚喜。不論對什麼樣的語言,面向物件更多的是一種思考問題的方法,沒有必要為了面向物件而去面向物件。PHP最初的面向物件,可以簡單地看作是函式的升級,曾經被很多其它語言的開發者取笑,但PHP5的面向物件已經足以滿足大部分WEB專案了。一門語言要想生存下去,就得去適應技術發展的潮流,並不斷做出調整,在這方面,PHP的團隊充滿了活力。
51CTO記者:PHP網站的安全是個很常見的問題,有關PHP網站漏洞的訊息是很多的。您認為這其中的原因和PHP語言本身的特點有關麼(相對於如PHP網站數量、PHP程式碼編寫習慣等其他因素)?PHP的安全有改善的空間麼?
鍾勝輝:網站的安全是一個比較系統的問題,它跟伺服器安全以及程式碼的質量是直接相關的,我們並不能說PHP這門語言不安全。目前PHP有很多優秀的開源產品,例如discuz,phpcms等,即使在開源的情況下,這些產品也保證了足夠的安全性。PHP的門檻很低,一兩週的時間就可以入門,而這些“快速入門”的程式設計師,往往容易忽略程式碼安全問題。安全問題的改善,取決於越來越多的PHP程式設計師對這個問題的重視程度。
51CTO記者:現在在不少大型專案中,PHP完全充當了指令碼的功能,而邏輯性比較強的業務處理則由另一門功能豐富的語言(例如Java)來實現。您認為這樣在複雜度、開發快捷度、開發週期以及成本等方面有著怎樣的影響?
鍾勝輝:這種情況確實存在,但我認為之所以出現這種情況,並不是因為PHP“做不了”,而是很多專案負責人對PHP的偏見以及對JAVA等語言的迷信造成了這種現狀。當然,我們不能否認,有很多問題確實是PHP做不了的,做為一種解釋型的指令碼語言,PHP本身就不適合做大型的資料運算,它也不可能成為一門“萬能語言”。在大型專案中,多種語言配合工作是一件很正常的事情,例如說,PHP負責收集資料,提供介面,C負責處理分析資料,Python來做粘劑。各種語言各司其職,協同合作,只是分工的不同而沒有高低貴之分,就像如果用C來做資料展示一樣會很痛苦。我不認為PHP往復雜計算方面發展是一件好事,而且我相信PHP的開發團隊也會把握好這個度。沒有哪種語言可以做到“萬能”,java有這樣的野心,但我們可以看到java現在的境遇似乎並不如PHP那麼紅火,如果PHP也追求“萬能”,那將是一場災難。