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ì)大家有所幫助。
第一點(diǎn)就要提Composer,自從Composer出現(xiàn)后,PHP的依賴管理可以變得非常簡(jiǎn)單。程序內(nèi)依賴一些類庫和框架,直接使用Composer引入即可,通過使用composer update安裝依賴的包。解決了過去加載外部庫的各種難題。
Composer也有國(guó)內(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是PHPFramework 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年P(guān)HP還局限于做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í)行。
-
PHP
+關(guān)注
關(guān)注
0文章
454瀏覽量
26789 -
程序員
+關(guān)注
關(guān)注
4文章
953瀏覽量
29856
原文標(biāo)題:十年程序員用眼告訴你2018PHP不一樣
文章出處:【微信號(hào):Imgtec,微信公眾號(hào):Imagination Tech】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
阿里云升級(jí)通義靈碼AI程序員,全面上線
TMS320C55x DSP CPU程序員參考補(bǔ)充
![TMS320C55x DSP CPU<b class='flag-5'>程序員</b>參考補(bǔ)充](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
UCD3138A64/UCD3138128程序員手冊(cè)
![UCD3138A64/UCD3138128<b class='flag-5'>程序員</b>手冊(cè)](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
機(jī)械革命發(fā)布CODE AI程序員本
Linux驅(qū)動(dòng)程序程序員指南
![Linux驅(qū)動(dòng)<b class='flag-5'>程序</b><b class='flag-5'>程序員</b>指南](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
AI編程工具會(huì)不會(huì)搶程序員飯碗
第五屆長(zhǎng)沙·中國(guó)1024程序員節(jié)開幕
京東上萬程序員都AI用它!
![京東上萬<b class='flag-5'>程序員</b>都AI用它!](https://file1.elecfans.com//web2/M00/FD/06/wKgZomaXgOKAf_q0AADLwFkyfJU838.jpg)
程序員節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)
![<b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意大賽,用串口屏贏取千元大獎(jiǎng)](https://file1.elecfans.com/web2/M00/8D/79/wKgaomS7KZ-AY3GzAAArJzrUg1c443.png)
程序員節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!
![<b class='flag-5'>程序員</b>節(jié)視頻創(chuàng)意盛宴,邀您共襄盛舉!](https://file1.elecfans.com/web2/M00/F7/E1/wKgaomaDZHyAdCpxAACC-PIdRiA155.png)
大模型時(shí)代,程序員當(dāng)下如何應(yīng)對(duì) AI 的挑戰(zhàn)
![大模型時(shí)代,<b class='flag-5'>程序員</b>當(dāng)下如何<b class='flag-5'>應(yīng)對(duì)</b> AI 的挑戰(zhàn)](https://file1.elecfans.com//web2/M00/F6/06/wKgaomZ-ceeAU_ldAAYCIRbxQ_w529.png)
薪資高、青春飯,是不是程序員=青樓?
瑞薩Flash程序員V3 發(fā)布說明
![瑞薩Flash<b class='flag-5'>程序員</b>V3 發(fā)布說明](https://file.elecfans.com/web1/M00/D9/4E/pIYBAF_1ac2Ac0EEAABDkS1IP1s689.png)
評(píng)論