PHP 是最好的語言?關於 PHP 開發未來的 6 點建議

2020-12-17 開源中國

PHP 為什麼是最好的語言?你肯定聽過這個段子:

女孩:「你能讓這個論壇的人都吵起來, 我今晚就跟你走。」

程式設計師: 「PHP是最好的語言!」

論壇炸鍋了, 各種吵架…

女孩:「 服了你了, 我們走吧你想幹啥都行。」

程式設計師: 「今天不行, 我一定要說服他們, PHP必須是最好的語言。」

上面雖然是程式設計師的玩笑梗,但「PHP 是最好的語言」 這句話最早可能出自 2001 年 7 月的 PHP 官方文檔。

PHP is the best languages for web programming , but what about other languages ?

PHP 是最好的網絡程式語言,那麼其他語言呢?

—— PHP and other languages


拋開玩笑梗,認真來說,PHP 的確稱得上最好的語言之一。

首先,PHP 入門簡單,容易掌握,對新手友好,而且程序健壯性好,不容易出現像 Java 、 C++ 等其他語言那樣複雜的問題,如內存洩漏和 Crash ,跟蹤調試相對輕鬆很多。

再者,功能函數應有盡有,不需要重新造輪子。PHP 官方提供的標準庫非常強大,各種功能函數包括MySQL、Memcache、Redis、GD圖形庫、CURL、XML、JSON等等都能找到,免除了開發者到處找庫的煩惱。

另外,PHP 文檔詳細易懂,每個函數都有仔細的說明和使用示例。第三方類庫和工具、代碼、項目也很豐富。開發者可以快速、高效地使用 PHP 編寫開發各類軟體。

可以說,目前為止市面上仍然沒有出現比 PHP 更簡單易用的程式語言。然而,自 PHP 誕生到現在的 20 多年間,從 Web 時代興起到移動網際網路退潮,網際網路領域各種程式語言和技術層出不窮, Node.js 、 GO 、 Python 不斷地在挑戰 PHP 的地位。PHP 語言的局限也開始凸顯,PHP 語言未來在哪裡?PHP 程式設計師當如何應對未來的變革?

性能問題

PHP 最令人詬病的一點非性能莫屬,作為一門動態腳本語言,PHP 的優點是開發方便效率高,缺點就是性能差。在密集運算的場景下比 C 、 C++ 相差幾十倍甚至上百倍。另外 PHP 不可以直接操作底層,需要依賴擴展庫來提供 API 實現。

使用 PHP7

PHP7 版本對 Zend 引擎做了大量修改,大幅提升了 PHP 語言的性能,使用 PHP7 可以使程序性能瞬間翻倍。即使是 WordPress 這樣重量級的軟體運行在 PHP7 都能有上千 QPS ,相當於一臺伺服器每天就能處理 8000 萬次請求。使用 PHP7 ,做好 MySQL 優化,使用 Memcache 和 Redis 進行加速,這套技術架構完全可以應對相當大規模的系統。除了某些億級用戶的平臺之外,一般規模的系統完全沒有壓力。

學習 C/C++/GO

PHP 程式設計師可以學習一門靜態編譯語言作為補充實現動靜互補,C/C++/Go 都是不錯的選擇。而且靜態語言的編程體驗與動態語言完全不同,學習過程可以讓你得到更大的提升。掌握 C/C++ 語言後,還可以閱讀 PHP 、 Swoole 、 Nginx 、Redis 、 Linux內核 等開源軟體的源碼,了解其底層運行原理。

現在最新版本的Swoole提供了C++擴展模塊的支持,封裝了Zend API,用C++操作PHP變得很簡單,可以用C++實現PHP擴展函數和類。

管理規範

Composer

Composer 出現後,PHP 的依賴管理可以變得非常簡單。程序內依賴一些類庫和框架,直接使用 Composer 引入即可,通過使用 composer update 安裝依賴的包。解決了過去加載外部庫的各種難題。Composer 也有國內鏡像,速度非常快。現在絕大部分PHP開源的項目都提供了 Composer 的支持,建議大家在項目中使用 Composer 來解決 PHP 代碼包管理的問題,不要再使用下載源碼、手工 include 的原始方法。

PSR

PSR 是 http://www.php-fig.org/ 組織制定的PHP語言開發規範,約定了很多方面的規則,如命名空間、類名規範、編碼風格標準、Autoload、公共接口等。現在已經成為PHP技術社區事實上的標準了。很多知名的 PHP 框架和類庫都遵守了 PSR 規範。PHP 開發者應當學習掌握 PSR 規範,在開發程序時應當儘量遵循 PSR 規範。

應用擴展

Vue.js

PHP 程式設計師除了寫後臺程序之外,還有很大一部分工作在展現層,和瀏覽器前端打交道。2017 年你還在用 jQuery 操作 DOM 實現界面渲染嗎?已經完全 out 了。現在用 Vue.js 可以非常方便地實現數據和 DOM 元素的綁定。通過 Ajax 請求後臺接口返回數據後,更新前端數據自動實現界面渲染。

如果你不光要寫 Web 程序,同時還希望兼顧 Android 、IOS 、PC 客戶端等平臺,React Native 是一個不錯的選擇。

Swoole

PHP 還局限於做 Web 網站嗎?Swoole 是一個異步並行的通信引擎,作為 PHP 的擴展來運行。Node.js 的異步回調 Swoole 有,Go語言的協程 Swoole 也有,這完全顛覆了對 PHP 的認知。

使用 Swoole PHP 可以實現常駐內存的 Server 程序,可以實現 TCP 、 UDP 異步網絡通信的編程開發。過去PHP只能做一個 Web 網站,現在使用 Swoole 可以做 Java 、C++ 才能實現的通信服務,比如 WebSocket 即使通信、聊天、推送伺服器、RPC 遠程調用服務、網關、代理、遊戲伺服器等。

可以說,Swoole 是每位 PHPer 都需掌握的必備技能。但 Swoole 的使用門檻對新手來說相對較高,需要付出一定的精力成本。

所以這一次,我們邀請了 Swoole 開源項目的創始人 —— 韓天峰參加「上海源創會」,為我們介紹 Swoole 4.0 全新的 PHP 協程編程模式,以及 Swoft 協程框架的使用,基於 Swoft Cloud 提供的各類組件實現 PHP 微服務架構。

除此之外,5 月 27 日(周日)上海源創會 還邀請了黃勵博(又拍雲系統開發高級工程師)、曲駿(安暢混合雲服務架構團隊負責人)、朱明智(個推B2D研發部平臺研發專家)、許雪裡(XXI系列開源軟體作者,美團點評工程師)四位行業大牛。以架構為核心,與你進行一場關於面對面的技術對話。

點擊報名,與業內大咖和更多小夥伴當面交流。(社區)

社區報名連結:https://www.oschina.net/event/2278742?origin=sqrw1

掃碼報名,與業內大咖和更多小夥伴當面交流。(微信)



微信報名連結:https://www.oschina.net/event/2278742?origin=wxrw1


註:以上內容有引用和參考 2017年PHP程式設計師未來路在何方 韓天峰

https://segmentfault.com/a/1190000008888700?utm_source=tuicool&utm_medium=referral

相關焦點

  • php是世界上最好的語言這個梗的前世今生
    php是世界上最好的語言!php是世界上最好的語言!php是世界上最好的語言!重要的事情說三遍,然後趕緊運動真氣,保護周身,以防止來自四面八方的板磚、西紅柿、臭雞蛋之類的東西。呆在象牙塔,不知道外面的世界,遊戲之餘,想學點什麼,然後接觸了編程。怎麼學呢?一部分人直接找一門程式語言學,找來找去選了php,而php語法的對初學者來說簡單易學,其在web開發中的優勢也讓我們可以馬上上手寫點東西;另一部分人琢磨來琢磨去考個計算機等級證書吧,也許找工作有用。於是報考了計算機二級C語言。
  • php語言入門教程(PHP編程學習路線圖)
    php語言入門應該從哪裡開始學起呢?是先學html還是php?還是直接學習PHP框架?
  • PHP是世界上最好的語言(入門1)
    請點擊輸入大家都圖片描述大家都知道PHP是世界上最好的語言,我寫php代碼有十年的工作經驗了,現在給大家分享一下開發過程中的各種坑,為了照顧剛入門的同學,我就先從基礎的地方開始分享1:PHP這門語言是做什麼用的?PHP 是伺服器端腳本語言。主要是用來做網站建設的,目前市面上90%的網站都是用php來編寫的,比如:以前的淘寶網,鳳凰網。2:PHP這麼語言長什麼樣?
  • 為什麼說PHP是世界上最好的語言?
    某軟體工程師:今天不行,我一定要說服他們,PHP必須是最好的語言……「PHP是世界上最好的語言」,這個段子雖然是對PHP程式語言的一種調侃,但是也說明了PHP也有一大群忠實的粉絲,那麼PHP到底有什麼特點受到了這麼多開發者的青睞呢?今天我們就來聊一聊:PHP是一種開源的通用計算機腳本語言,尤其適用於網絡開發並可嵌入HTML中使用。
  • php是世界上最好的語言是什麼梗
    源 / php中文網      源 / www.php.cn最早看到這個是由於下面這個笑話某女:你能讓這個論壇的人都吵起來,我今晚就跟你走。某軟體工程師:PHP是最好的語言!某論壇真的就炸鍋了,各種吵架……某女:服了你了,我們走吧,你想幹啥都行。
  • php 中關於時區的那點事
    在計算機世界中,一切都是數據,最好時區的概念也能體現在相關資料庫中,幸運的是已經有前輩為我們提供了時區信息資料庫,而各類語言基本都會提供時區的工具類.php 中的日期時間函數庫是 php內置函數庫,我們可以方便地操作時間,設置時區等.
  • php語言是什麼?學好php需要掌握什麼?
    php容易學習,使用廣泛,主要適用於Web開發領域,PHP是Hypertext Preprocessor的簡稱,用中文翻譯過來的意思是「超文本預處理器」它是一種通用開源腳本語言。php的語法有C、Java和Perl的特點也有自創的特點,經過了24年的發展php從最初的1.0發展7.0版本,php的功能已經發展非常強大,php是適合編程零基礎入手的一門程式語言,下面為大家介紹一下學習php需要經過哪些過程?
  • 2019年網站開發學習PHP還是JAVA?哪個好?
    下面給大家分享一條在知乎上關於《如何看待PHP的發展?》的高贊回復,希望各位能從中有所收益!高晴:做了10年的PHP,這幾年PHP給我的觸動還是比較少的,隨著nodejs的快速發展,php最最擅長的web開發,已經被很多公司替換成前後端分離,後端提供接口服務以後,java等重量級語言的優勢有凸顯出來,而純處理web頁面的話,php很快會被node相關產品所替代,原因就是因為前端對js更加親熱,而php自身的長處無法發揮的淋漓盡致;
  • 為什麼程式設計師都黑php? PHP中文網有話說!
    其實對於php開發人員來說,也一樣,大家就是沒事的時候把「PHP是世界上最好的語言」作為一個梗,調侃調侃,或者介紹自己是「拍黃片的」娛樂下自己。其實到現在為止我們還沒有看到真正程式設計師罵PHP,而那些黑php的人,都是那些不懂的人,或者一些其它語言的培訓機構故意高級黑。反過來,如果php經常被人黑,反而是好事!世界上只有兩種語言: 沒人用的和經常被人噴的。
  • PHP直播源碼,為什麼直播源碼開發要選擇PHP語言?優勢有這些
    PHP(Hypertext Preprocessor),超文本預處理器,是一種通用性開源腳本語言。它的語法吸取了C語言、Java和Perl的優點,免費、快捷、高效,主要適用於Web開發領域。
  • c語言和PHP,學哪個好?
    計科專業從事嵌入式開發多年,從現在的市場行情以及就業的機會上講php的就業空間還是大於C語言,但並不意味著C語言就已經被淘汰掉了,相反因為高級語言在應用領域使用的範圍比較廣泛,倒是顯得很多底層的程式語言成了稀缺的物種,畢竟對於底層的維護也是一項很重要的工作,況且C語言的使用範圍並不是很狹窄
  • Java語言和PHP語言有什麼區別
    最近,網絡上有很多網民就選擇哪種程式語言進行學習而糾結。例如,關於Java和php的優勢和不足,今天為大家分析一下Java語言和PHP語言的區別。一、Java語言的優勢和不足Java是非常熱門的程式語言,與其他高級語言相比,則是非常基礎的語言。並且Java是跨平臺的,具有Android,Swing,J2EE和J2ME等多種應用程式。就業方面比較廣泛,市場利用者的需求也很大。由於Java經常開發大型系統,因此大型企業往往需要大量的Java資源。
  • 2020年學PHP開發在淄博還有用嗎
    如 Java、PHP、HTML5 等程式語言。 最近在開發者群體中「學PHP還有用嗎」的討論越來越多,在各種技術論壇上,曾經PHP是世界上最好的語言的呼聲似乎也沒有以前那麼強烈了。 實際上,PHP 仍然在被大範圍的使用,尤其是 Web 後端領域,PHP 的地位依然沒有下滑,不減反增。
  • java和php在web開發方面對比分析
    比較php和jsp這兩個web開發技術,在目前的情況是其實是比較php和java的web開發。以下是我就幾個主要方面進行的比較:一、 語言比較php是解釋執行的伺服器腳本語言,首先php有簡單容易上手的特點。語法和c語言比較象,所以學過c語言的程式設計師可以很快的熟悉php的開發。
  • 世界上最好的語言PHP:OpenCV與計算機視覺已在我掌控之下
    由於更普遍使用的程式語言是:C / C ++、Python 2/3、Lua 和 Matlab,以及框架:Caffe、TensorFlow、Torch。因此在程式語言和框架上的大量細分選擇使得找到你所需要的,併集成到項目中的過程變得更加複雜。OpenCV 中添加的一個 DNN 模塊以某種方式減少了這些混亂,它使得你可以直接使用一個在基本框架中訓練過的模型。
  • php怎麼了,又要涼涼了嗎
    但是,我們從剛入行聽的最多的一句話就是:php是最好的語言,你以為是開玩笑呢,小老弟。不過相對而且確實java的面向對象要更廣一些1、馬蜂窩有多大首先要聲明從未用過馬蜂窩的任何服務,也沒安裝過馬蜂窩APP。不過既然這次的事兒和馬蜂窩有關,那咱們就大概百度百度。
  • 2020年PHP開發程式設計師還有希望嗎?
    TIOBE發布2020編程排名PHP開發優勢主要在web開發,web領域開發語言有很多,常用有java,Python,visual basic .net等等,而且大型web開發我們一般還是會選擇所以網上很多PHP開發者很擔心容易被某種程式語言代替其中web領域位置,而且我們發現現在網上都是在宣傳學習java,c,Python等語言,PHP慢慢淡出開發者的視野。
  • 為什麼說PHP是世界上最好的語言
    為什麼說PHP是世界上最好的語言呢?這個真的不是一個梗,是真的!
  • 將PHP作為Shell腳本語言使用
    我們都知道,PHP是一種非常好的動態網頁開發語言(速度飛快,開發周期短……)。但是只有很少數的人意識到PHP也可以很好的作為編寫Shell腳本的語言,當PHP作為編寫Shell腳本的語言時,他並沒有Perl或者Bash那麼強大,但是他卻有著很好的優勢,特別是對於我這種熟悉PHP但是不怎麼熟悉Perl的人。
  • 做彩票系統源碼開發用php和java兩個語言間的區別
    彩票行業進入我國已經幾十年了,隨著時間的沉澱,也是發展起來了,也有投資者看中了彩票行業的前景想要做彩票系統源碼開發,而像是php與java是目前非常主流的兩個語言,對於系統開發也是需要做選擇的,且也是經常會在開發web應用時發生分歧,開發前很多外包團隊肯定會問你,是用java開發還是