首頁»PHP»十年程序員用眼告訴你 2018 PHP 不一樣

十年程序員用眼告訴你 2018 PHP 不一樣

來源:codebay 發布時間:2018-08-28 閱讀次數:

  PHP從誕生到現在已經有20多年歷史,從Web時代興起到移動互聯網退潮,互聯網領域各種編程語言和技術層出不窮, Node.js 、GO和Python不斷地在挑戰PHP的地位。這些技術的推動者非常熱衷于唱衰PHP,PHP語言的未來在哪里?PHP程序員當如何應對未來的變革?

  作為老牌的Web后端編程語言,PHP在全球市場占有率非常高,僅次于Java,從各個招聘網站的數據上來看PHP開發的職位非常多,薪資水平也非常不錯。實際在中小企業、互聯網創業公司PHP的市場地位是高于Java的。Java在超大型企業、傳統軟件行業、金融領域優勢更大。目前來看 Node.js、 GO 、 Python 、 Ruby 等語言還難以企及PHP和Java。

  PHP語言之所以能有今天的地位,得益于PHP語言設計者一直遵從實用主義,將技術的復雜性隱藏在底層。PHP語言入門簡單,容易掌握,程序健壯性好,不容易出現像Java 、 C++ 等其他語言那樣復雜的問題,如內存泄漏和 Crash,跟蹤調試相對輕松很多。 

  PHP官方提供的標準庫非常強大,各種功能函數都能在官方的標準庫中找到,包括MySQL、Memcache、Redis、GD圖形庫、CURL、XML、JSON等等,免除了開發者到處找庫的煩惱。PHP 的文檔非常棒,每個函數都有詳細的說明和使用示例。第三方類庫和工具、代碼、項目也很豐富。開發者可以快速、高效地使用PHP編寫開發各類軟件。

  到目前為止市面上仍然沒有出現比PHP更簡單易用的編程語言。所以PHP的前景還是很廣闊的,與其糾結于編程語言的選擇,不如好好地深入學習使用PHP 。

  作為一個資深的PHP開發者,在技術上給各位PHP程序幾點未來的建議,希望對大家有所幫助。

  01 Composer

  第一點就要提Composer,自從Composer出現后,PHP的依賴管理可以變得非常簡單。程序內依賴一些類庫和框架,直接使用Composer引入即可,通過使用composer update安裝依賴的包。解決了過去加載外部庫的各種難題。

  Composer也有國內鏡像,速度非常快。現在絕大部分PHP開源的項目都提供了Composer的支持,建議大家在項目中使 Composer來解決PHP代碼包管理的問題,不要再使用下載源碼、手工include的原始方法。

  02 PHP7

  PHP7版本對Zend引擎做了大量修改,大幅提升了PHP語言的性能,使用PHP7可以使你的程序性能瞬間翻倍。即使是WordPress這樣重量級的軟件運行在PHP7都能有上千QPS,相當于一臺服務器每天就能處理8000萬次請求。

使用PHP7,做好MySQL優化,使用Memcache和Redis進行加速,這套技術架構完全可以應對相當大規模的系統。除了某些億級用戶的平臺之外,一般規模的系統完全沒有壓力。

  03 PSR

  PSR是PHPFramework Interop Group 組織制定的PHP語言開發規范,約定了很多方面的規則,如命名空間、類名規范、編碼風格標準、Autoload、公共接口等。現在已經成為PHP技術社區事實上的標準了。很多知名的PHP框架和類庫都遵守了PSR規范。

  PHP開發者應當學習掌握PSR規范,在開發程序時應當盡量遵循PSR規范。

  04 Swoole

  2017年PHP還局限于做Web網站嗎?No,如果你還不知道Swoole,趕快去了解一下吧。Swoole的口號是重新定義PHP語言,Swoole是一個異步并行的通信引擎,作為PHP的擴展來運行。

  Node.js的異步回調Swoole有,Go語言的協程Swoole也有,這完全顛覆了對PHP的認知。使用Swoole PHP 可以實現常駐內存的Server程序,可以實現TCP、UDP異步網絡通信的編程開發。

  過去PHP只能做一個Web網站,現在使用Swoole可以做Java 、C++才能實現的通信服務,比如WebSocket即使通信、聊天、推送服務器、RPC遠程調用服務、網關、代理、游戲服務器等。如果你想用PHP做點Web系統之外的東西,Swoole是最好的選擇。

  05 Laravel

  最近幾年最火熱的PHP框架,官網號稱是為Web藝術家設計的框架,可見這套框架有多優雅。Laravel提供的功能模塊豐富,API設計簡潔,表達力強。而且它的社區非常活躍,代碼貢獻者眾多,第三方的插件非常多,生態系統相當繁榮。

  Laravel底層使用了很多symfony2組件,通過composer實現了依賴管理。如果還在糾結使用什么PHP框架,不如選擇 Laravel。Laravel提供的命令行工具基于symfony.console實現,功能強大,集成了各種項目管理、自動生成代碼的功能。

  06 Phar

  PHP5.3之后支持了類似Java的jar包,名為phar。用來將多個PHP文件打包為一個文件。這個特性使得PHP也可以像Java一樣方便地實現應用程序打包和組件化。一個應用程序可以打成一個Phar包,直接放到PHP-FPM中運行。

  配合Swoole,可以在命令行下執行php server.phar 一鍵啟動服務器。PHP的代碼包可以用Phar打包成組件,放到Swoole的服務器容器中去加載執行。

QQ群:WEB開發者官方群(515171538),驗證消息:10000
微信群:加小編微信 849023636 邀請您加入,驗證消息:10000
提示:更多精彩內容關注微信公眾號:全棧開發者中心(fsder-com)
php
網友評論(共0條評論) 正在載入評論......
理智評論文明上網,拒絕惡意謾罵 發表評論 / 共0條評論
登錄會員中心
大发国际网址 衡阳市| 枝江市| 静安区| 呼图壁县| 高州市| 保定市| 抚顺市| 磴口县| 闽侯县| 大新县| 乐山市| 牡丹江市| 明光市| 福鼎市| 攀枝花市| 铁岭市| 新津县| 辰溪县| 河西区| 梁平县| 布尔津县| 德昌县| 长海县| 喀什市| 九江市| 迭部县| 叙永县| 精河县| 德钦县| 呼玛县| 平远县| 南陵县| 保定市| 日土县| 姜堰市| 屏边| 思茅市| 水富县| 郑州市| 朝阳县| 慈利县| 喜德县| 中卫市| 静宁县| 通渭县| 浦城县| 溆浦县| 辽中县| 夹江县| 华池县| 互助| 子洲县| 从江县| 晋州市| 鄯善县| 池州市| 剑阁县| 永昌县| 阜阳市| 谢通门县| 河南省| 开原市| 鲁甸县| 印江| 井研县| 筠连县| 济阳县| 达孜县| 汤阴县| 胶州市| 丰县| 贵德县| 钦州市| 大港区| 神木县| 临澧县| 鱼台县| 黑龙江省| 巴林右旗| 贞丰县| 隆化县| 桐庐县| 阜新市| 南江县| 中阳县| 罗源县| 宁远县| 大宁县| 龙江县| 兰坪| 祥云县| 五莲县| 商南县| 合作市| 河西区| 菏泽市| 华宁县| 剑阁县| 南宁市| 盈江县| 正镶白旗| 焉耆| 铁力市| 合江县| 梨树县| 莫力| 泰宁县| 涟水县| 万山特区| 通化市| 湟源县| 祥云县| 黑山县| 朝阳县| 班玛县| 湖口县| 大冶市| 古交市| 凤冈县| 右玉县| 汾阳市| 镇原县| 安达市| 河曲县| 清新县| 凌海市| 德惠市| 克山县| 长海县| 淮阳县| 星子县| 东宁县| 吴忠市| 襄城县| 日照市| 安福县| 鹿邑县|