韓天峰:2017 年 PHP 程序員未來路在何方

韓天峰:2017 年 PHP 程序員未來路在何方

PHP 從誕生到現(xiàn)在已經(jīng)有20多年歷史殉了,從Web時(shí)代興起到移動(dòng)互聯(lián)網(wǎng)退潮,互聯(lián)網(wǎng)領(lǐng)域各種編程語言和技術(shù)層出不窮, Node.js 新博、GO 、 Python 不斷地在挑戰(zhàn) PHP 的地位脚草。這些技術(shù)的推動(dòng)者非常熱衷于唱衰 PHP 赫悄, PHP 語言的未來在哪里?PHP程序員當(dāng)如何應(yīng)對(duì)未來的變革?

作為老牌的Web后端編程語言埂淮,PHP 在全球市場(chǎng)占有率非常高嚼贡,僅次于 Java ,從各個(gè)招聘網(wǎng)站的數(shù)據(jù)上來看PHP開發(fā)的職位非常多同诫,薪資水平也非常不錯(cuò)粤策。實(shí)際在中小企業(yè)、互聯(lián)網(wǎng)創(chuàng)業(yè)公司PHP的市場(chǎng)地位是高于 Java 的误窖。Java在超大型企業(yè)叮盘、傳統(tǒng)軟件行業(yè)、金融領(lǐng)域優(yōu)勢(shì)更大霹俺。目前來看 Node.js柔吼、 GO 、 Python 丙唧、 Ruby等語言還難以企及PHP和Java愈魏。

PHP 語言之所以能有今天的地位,得益于PHP語言設(shè)計(jì)者一直遵從實(shí)用主義想际,將技術(shù)的復(fù)雜性隱藏在底層培漏。PHP語言入門簡(jiǎn)單,容易掌握胡本,程序健壯性好牌柄,不容易出現(xiàn)像 Java 、 C++ 等其他語言那樣復(fù)雜的問題侧甫,如內(nèi)存泄漏和 Crash珊佣,跟蹤調(diào)試相對(duì)輕松很多。PHP官方提供的標(biāo)準(zhǔn)庫非常強(qiáng)大披粟,各種功能函數(shù)都能在官方的標(biāo)準(zhǔn)庫中找到咒锻,包括MySQL、Memcache守屉、Redis惑艇、GD圖形庫、CURL胸梆、XML敦捧、JSON等等须板,免除了開發(fā)者到處找?guī)斓臒琅鼍怠HP的文檔非常棒,每個(gè)函數(shù)都有詳細(xì)的說明和使用示例习瑰。第三方類庫和工具绪颖、代碼、項(xiàng)目也很豐富。開發(fā)者可以快速柠横、高效地使用 PHP

編寫開發(fā)各類軟件窃款。到目前為止市面上仍然沒有出現(xiàn)比 PHP 更簡(jiǎn)單易用的編程語言。所以 PHP的前景還是很廣闊的牍氛,與其糾結(jié)于編程語言的選擇晨继,不如好好地深入學(xué)習(xí)使用 PHP 。作為一個(gè)資深的 PHP 開發(fā)者搬俊,在技術(shù)上給各位 PHP 程序十點(diǎn)未來的建議紊扬,希望對(duì)大家有所幫助。

1. Composer

第一點(diǎn)就要提 Composer 唉擂,自從 Composer 出現(xiàn)后餐屎,PHP 的依賴管理可以變得非常簡(jiǎn)單。程序內(nèi)依賴一些類庫和框架玩祟,直接使用

Composer 引入即可腹缩,通過使用 composer update 安裝依賴的包。解決了過去加載外部庫的各種難題空扎。Composer

也有國內(nèi)鏡像藏鹊,速度非常快∽猓現(xiàn)在絕大部分PHP開源的項(xiàng)目都提供了 Composer 的支持伙判,建議大家在項(xiàng)目中使用 Composer 來解決 PHP

代碼包管理的問題,不要再使用下載源碼黑忱、手工 include 的原始方法宴抚。

2. PHP7

PHP7 版本對(duì) Zend 引擎做了大量修改,大幅提升了 PHP 語言的性能甫煞,使用 PHP7 可以使你的程序性能瞬間翻倍菇曲。即使是

WordPress 這樣重量級(jí)的軟件運(yùn)行在 PHP7 都能有上千 QPS ,相當(dāng)于一臺(tái)服務(wù)器每天就能處理 8000 萬次請(qǐng)求抚吠。使用 PHP7

常潮,做好 MySQL 優(yōu)化,使用 Memcache 和 Redis

進(jìn)行加速楷力,這套技術(shù)架構(gòu)完全可以應(yīng)對(duì)相當(dāng)大規(guī)模的系統(tǒng)喊式。除了某些億級(jí)用戶的平臺(tái)之外,一般規(guī)模的系統(tǒng)完全沒有壓力萧朝。

3. PSR

PSR 是PHP Framework Interop Group組織制定的PHP語言開發(fā)規(guī)范岔留,約定了很多方面的規(guī)則,如命名空間检柬、類名

規(guī)范献联、編碼風(fēng)格標(biāo)準(zhǔn)、Autoload、公共接口等±锬妫現(xiàn)在已經(jīng)成為PHP技術(shù)社區(qū)事實(shí)上的標(biāo)準(zhǔn)了进胯。很多知名的 PHP 框架和類庫都遵守了 PSR 規(guī)范。PHP 開發(fā)者應(yīng)當(dāng)學(xué)習(xí)掌握 PSR 規(guī)范原押,在開發(fā)程序時(shí)應(yīng)當(dāng)盡量遵循 PSR 規(guī)范胁镐。

4. Swoole

2017 年 PHP 還局限于做 Web 網(wǎng)站嗎?No 诸衔,如果你還不知道 Swoole 希停,趕快去了解一下吧。Swoole 的口號(hào)是重新定義

PHP 語言署隘,Swoole 是一個(gè)異步并行的通信引擎宠能,作為 PHP 的擴(kuò)展來運(yùn)行。Node.js 的異步回調(diào) Swoole 有磁餐,Go語言的協(xié)程

Swoole 也有违崇,這完全顛覆了對(duì) PHP 的認(rèn)知。使用 Swoole PHP 可以實(shí)現(xiàn)常駐內(nèi)存的 Server 程序诊霹,可以實(shí)現(xiàn) TCP 羞延、

UDP 異步網(wǎng)絡(luò)通信的編程開發(fā)。過去PHP只能做一個(gè) Web 網(wǎng)站脾还,現(xiàn)在使用 Swoole 可以做 Java 伴箩、C++ 才能實(shí)現(xiàn)的通信服務(wù),比如

WebSocket 即使通信鄙漏、聊天嗤谚、推送服務(wù)器、RPC 遠(yuǎn)程調(diào)用服務(wù)怔蚌、網(wǎng)關(guān)巩步、代理、游戲服務(wù)器等桦踊。如果你想用 PHP 做點(diǎn) Web

系統(tǒng)之外的東西椅野,Swoole 是最好的選擇。

5. Laravel

最近幾年最火熱的 PHP 框架籍胯,官網(wǎng)號(hào)稱是為 Web 藝術(shù)家設(shè)計(jì)的框架竟闪,可見這套框架有多優(yōu)雅。Laravel 提供的功能模塊豐富杖狼,API

設(shè)計(jì)簡(jiǎn)潔炼蛤,表達(dá)力強(qiáng)。而且它的社區(qū)非潮竟簦活躍鲸湃,代碼貢獻(xiàn)者眾多,第三方的插件非常多子寓,生態(tài)系統(tǒng)相當(dāng)繁榮暗挑。 Laravel 底層使用了很多

symfony2 組件,通過 composer 實(shí)現(xiàn)了依賴管理斜友。如果還在糾結(jié)使用什么PHP框架炸裆,不如選擇 Laravel 。 Laravel

提供的命令行工具基于 symfony.console 實(shí)現(xiàn)鲜屏,功能強(qiáng)大烹看,集成了各種項(xiàng)目管理、自動(dòng)生成代碼的功能洛史。

6. Phar

PHP5.3 之后支持了類似 Java 的 jar 包惯殊,名為 phar。用來將多個(gè) PHP 文件打包為一個(gè)文件也殖。這個(gè)特性使得 PHP 也可以像 Java 一樣方便地實(shí)現(xiàn)應(yīng)用程序打包和組件化土思。一個(gè)應(yīng)用程序可以打成一個(gè) Phar 包,直接放到

PHP-FPM 中運(yùn)行忆嗜。配合 Swoole 己儒,可以在命令行下執(zhí)行 php server.phar 一鍵啟動(dòng)服務(wù)器。PHP 的代碼包可以用 Phar 打包成組件捆毫,放到 Swoole 的服務(wù)器容器中去加載執(zhí)行闪湾。

7. C/C++/GO

任何技術(shù)有優(yōu)點(diǎn)就有缺點(diǎn),PHP 作為一門動(dòng)態(tài)腳本語言绩卤,優(yōu)點(diǎn)是開發(fā)方便效率高途样。缺點(diǎn)就是性能差。在密集運(yùn)算的場(chǎng)景下比 C 濒憋、 C++

相差幾十倍甚至上百倍娘纷。另外 PHP 不可以直接操作底層,需要依賴擴(kuò)展庫來提供 API 實(shí)現(xiàn)跋炕。PHP

程序員可以學(xué)習(xí)一門靜態(tài)編譯語言作為補(bǔ)充實(shí)現(xiàn)動(dòng)靜互補(bǔ)赖晶,C/C++/Go

都是不錯(cuò)的選擇。而且靜態(tài)語言的編程體驗(yàn)與動(dòng)態(tài)語言完全不同辐烂,學(xué)習(xí)過程可以讓你得到更大的提升遏插。

掌握 C/C++ 語言后,還可以閱讀 PHP 纠修、 Swoole 胳嘲、 Nginx 、Redis 扣草、 Linux內(nèi)核 等開源軟件的源碼了牛,了解其底層運(yùn)行原理颜屠。

現(xiàn)在最新版本的Swoole提供了C++擴(kuò)展模塊的支持,封裝了Zend API鹰祸,用C++操作PHP變得很簡(jiǎn)單甫窟,可以用C++實(shí)現(xiàn)PHP擴(kuò)展函數(shù)和類。

8. HTML5

作為 Web 前端新一代標(biāo)準(zhǔn)蛙婴,HTML5 未來前景非常廣闊粗井,市場(chǎng)需求量非常大。從 PC 網(wǎng)站街图、B/S 企業(yè)軟件浇衬、移動(dòng)端網(wǎng)頁、APP餐济,這些領(lǐng)域都在擁抱 HTML5耘擂,掌握了 HTML5 才能在下一波互聯(lián)網(wǎng)技術(shù)大潮中存活下來。

9. Vue.js

PHP 程序員除了寫后臺(tái)程序之外絮姆,還有很大一部分工作在展現(xiàn)層梳星,和瀏覽器前端打交道。2017 年你還在用 jQuery 操作 DOM

實(shí)現(xiàn)界面渲染嗎滚朵?已經(jīng)完全 out 了≡┰郑現(xiàn)在用 Vue.js 可以非常方便地實(shí)現(xiàn)數(shù)據(jù)和 DOM 元素的綁定。通過 Ajax

請(qǐng)求后臺(tái)接口返回?cái)?shù)據(jù)后辕近,更新前端數(shù)據(jù)自動(dòng)實(shí)現(xiàn)界面渲染韵吨。2017 年再不學(xué) Vue 就晚了。

如果你不光要寫 Web 程序移宅,同時(shí)還希望兼顧 Android 归粉、IOS 、PC 客戶端等平臺(tái)漏峰,React Native 是一個(gè)不錯(cuò)的選擇糠悼。

10. 深度學(xué)習(xí)/人工智能

互聯(lián)網(wǎng)的未來屬于人工智能,如果你還不了解機(jī)器學(xué)習(xí)浅乔、深度學(xué)習(xí)倔喂、人工智能這些概念,那你需要盡快學(xué)習(xí)了解一下【肝現(xiàn)在互聯(lián)網(wǎng)巨頭們都在布局人工智能席噩,包括

Google 、 Facebook 贤壁、微軟悼枢、亞馬遜

和國內(nèi)的百度。雖然現(xiàn)在還處于科學(xué)研究的階段脾拆,但未來互聯(lián)網(wǎng)的各個(gè)領(lǐng)域都會(huì)應(yīng)用到人工智能馒索,包括自動(dòng)駕駛莹妒、大數(shù)據(jù)分析、網(wǎng)絡(luò)游戲绰上、圖像識(shí)別旨怠、語言處理等。當(dāng)然現(xiàn)在普通的工程師可能還無法參與到人工智能產(chǎn)品中渔期,但至少應(yīng)該理解深度學(xué)習(xí)/人工智能的基本概念和原理运吓。

(原文:https://zhuanlan.zhihu.com/p/26090126

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末渴邦,一起剝皮案震驚了整個(gè)濱河市疯趟,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌谋梭,老刑警劉巖信峻,帶你破解...
    沈念sama閱讀 212,029評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異瓮床,居然都是意外死亡盹舞,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,395評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門隘庄,熙熙樓的掌柜王于貴愁眉苦臉地迎上來踢步,“玉大人,你說我怎么就攤上這事丑掺』裼。” “怎么了?”我有些...
    開封第一講書人閱讀 157,570評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵街州,是天一觀的道長(zhǎng)兼丰。 經(jīng)常有香客問我,道長(zhǎng)唆缴,這世上最難降的妖魔是什么鳍征? 我笑而不...
    開封第一講書人閱讀 56,535評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮面徽,結(jié)果婚禮上艳丛,老公的妹妹穿的比我還像新娘。我一直安慰自己趟紊,他們只是感情好质礼,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,650評(píng)論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著织阳,像睡著了一般眶蕉。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上唧躲,一...
    開封第一講書人閱讀 49,850評(píng)論 1 290
  • 那天造挽,我揣著相機(jī)與錄音碱璃,去河邊找鬼。 笑死饭入,一個(gè)胖子當(dāng)著我的面吹牛嵌器,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播谐丢,決...
    沈念sama閱讀 39,006評(píng)論 3 408
  • 文/蒼蘭香墨 我猛地睜開眼爽航,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了乾忱?” 一聲冷哼從身側(cè)響起讥珍,我...
    開封第一講書人閱讀 37,747評(píng)論 0 268
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窄瘟,沒想到半個(gè)月后衷佃,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,207評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡蹄葱,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,536評(píng)論 2 327
  • 正文 我和宋清朗相戀三年氏义,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片图云。...
    茶點(diǎn)故事閱讀 38,683評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡惯悠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出竣况,到底是詐尸還是另有隱情克婶,我是刑警寧澤,帶...
    沈念sama閱讀 34,342評(píng)論 4 330
  • 正文 年R本政府宣布帕翻,位于F島的核電站鸠补,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏嘀掸。R本人自食惡果不足惜紫岩,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,964評(píng)論 3 315
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望睬塌。 院中可真熱鬧泉蝌,春花似錦、人聲如沸揩晴。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,772評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽硫兰。三九已至诅愚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間劫映,已是汗流浹背违孝。 一陣腳步聲響...
    開封第一講書人閱讀 32,004評(píng)論 1 266
  • 我被黑心中介騙來泰國打工刹前, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人雌桑。 一個(gè)月前我還...
    沈念sama閱讀 46,401評(píng)論 2 360
  • 正文 我出身青樓喇喉,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國和親校坑。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拣技,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,566評(píng)論 2 349

推薦閱讀更多精彩內(nèi)容