php語言之所以能有今天的地位,得益于php語言設計者一直遵從實用主義,將技術的復雜性隱藏在底層。php語言入門簡單,容易掌握,程序健壯性好,不容易出現(xiàn)像java 、 c++ 等其他語言那樣復雜的問題,如內存泄漏和 crash,跟蹤調試相對輕松很多。那么2018 php又會有哪些新的趨勢呢?
php官 方提供的標準庫非常強大,各種功能函數(shù)都能在官 方的標準庫中找到,包括mysql、memcache、redis、gd圖形庫、curl、xml、json等等,免除了開發(fā)者到處找?guī)斓臒?。php 的文檔非常棒,每個函數(shù)都有詳細的說明和使用示例。第三方類庫和工具、代碼、項目也很豐富。開發(fā)者可以、地使用php編寫開發(fā)各類軟件。
php7
php7版本對zend引擎做了大量修改,大幅提升了php語言的性能,使用php7可以使你的程序性能瞬間翻倍。即使是wordpress這樣重量級的軟件運行在php7都能有上千qps,相當于一臺服務器每天就能處理8000萬次請求。
使用php7,做好mysql優(yōu)化,使用memcache和redis進行加速,這套技術架構完全可以應對相當大規(guī)模的系統(tǒng)。除了某些億級用戶的平臺之外,一般規(guī)模的系統(tǒng)完全沒有壓力。
psr
psr是phpframework interop group 組織制定的php語言開發(fā)規(guī)范,約定了很多方面的規(guī)則,如命名空間、類名規(guī)范、編碼風格標準、autoload、公共接口等。現(xiàn)在已經成為php技術社區(qū)事實上的標準了。很多知名的php框架和類庫都遵守了psr規(guī)范。
php開發(fā)者應當學習掌握psr規(guī)范,在開發(fā)程序時應當盡量遵循psr規(guī)范。
swoole
2017年php還局限于做web網站嗎?no,如果你還不知道swoole,趕快去了解一下吧。swoole的口號是重新定義php語言,swoole是一個異步并行的通信引擎,作為php的擴展來運行。
node.js的異步回調swoole有,go語言的協(xié)程swoole也有,這完全顛覆了對php的認知。使用swoole php 可以實現(xiàn)常駐內存的server程序,可以實現(xiàn)tcp、udp異步網絡通信的編程開發(fā)。
過去php只能做一個web網站,現(xiàn)在使用swoole可以做java 、c++才能實現(xiàn)的通信服務,比如websocket即使通信、聊天、推送服務器、rpc遠程調用服務、網關、、游戲服務器等。如果你想用php做點web系統(tǒng)之外的東西,swoole是 好的選擇。
laravel
近幾年火熱的php框架,官網號稱是為web藝術家設計的框架,可見這套框架有多優(yōu)雅。laravel提供的功能模塊豐富,api設計簡潔,表達力強。而且它的社區(qū)非?;钴S,代碼貢獻者眾多,第三方的插件非常多,生態(tài)系統(tǒng)相當繁榮。
laravel底層使用了很多symfony2組件,通過composer實現(xiàn)了依賴管理。如果還在糾結使用什么php框架,不如選擇 laravel。laravel提供的命令行工具基于symfony.console實現(xiàn),功能強大,集成了各種項目管理、自動生成代碼的功能。
phar
php5.3之后支持了類似java的jar包,名為phar。用來將多個php文件打包為一個文件。這個特性使得php也可以像java一樣方便地實現(xiàn)應用程序打包和組件化。一個應用程序可以打成一個phar包,直接放到php-fpm中運行。
配合swoole,可以在命令行下執(zhí)行php server.phar 一鍵啟動服務器。php的代碼包可以用phar打包成組件,放到swoole的服務器容器中去加載執(zhí)行。
composer
第 一點就要提composer,自從composer出現(xiàn)后,php的依賴管理可以變得非常簡單。程序內依賴一些類庫和框架,直接使用composer引入即可,通過使用composer update安裝依賴的包。解決了過去加載外部庫的各種難題。
composer也有國內鏡像,速度非常快?,F(xiàn)在絕大部分php開源的項目都提供了composer的支持,建議大家在項目中使 composer來解決php代碼包管理的問題,不要再使用下載源碼、手工include的原始方法。
到目前為止市面上仍然沒有出現(xiàn)比php更簡單易用的編程語言。所以php的前景還是很廣闊的,與其糾結于編程語言的選擇,不如好好地深入學習使用php 。
溫馨提示