2018年对PHP的新认知
春節的時候一直在擔心論文和找工作的事情,由于導師不允許實習,就想著利用在家里的時間,補充一些相關的知識。通過公眾號,看了一些PHP求職相關的文章,下面是一些對于PHP的新認知。這篇文章主要來自于《十年程序員用眼告訴你 2018 PHP 不一樣》這篇文章。
PHP的簡介
PHP,縮寫:Hypertext Preprocessor,中文名:超文本預處理器。
PHP語言之所以能有今天的地位,得益于PHP語言設計者一直遵從實用主義,將技術的復雜性隱藏在底層。
- PHP語言具有如下優點:
- 入門簡單,容易掌握
- 開源代碼,可擴展性,面向對象編程,數據庫連接
- 程序健壯性好,不容易出現像Java 、 C++ 等其他語言那樣復雜的問題,如內存泄漏和 Crash,跟蹤調試相對輕松很多。
- PHP官方提供的標準庫非常強大,各種功能函數都能在官方的標準庫中找到,包括MySQL、Memcache、Redis、GD圖形庫、CURL、XML、JSON等等,免除了開發者到處找庫的煩惱。
- PHP 的文檔非常全面詳細,每個函數都有詳細的說明和使用示例。
- 第三方類庫和工具、代碼、項目也很豐富。開發者可以快速、高效地使用PHP編寫開發各類軟件。
下面介紹在技術上,PHP程序未來需要掌握的。
Composer
第一點就要提Composer,自從Composer出現后,PHP的依賴管理可以變得非常簡單。程序內依賴一些類庫和框架,直接使用Composer引入即可,通過使用composer update安裝依賴的包。解決了過去加載外部庫的各種難題。
Composer也有國內鏡像,速度非常快?,F在絕大部分PHP開源的項目都提供了Composer的支持,建議大家在項目中使 Composer來解決PHP代碼包管理的問題,不要再使用下載源碼、手工include的原始方法。
PHP7
PHP7版本對Zend引擎做了大量修改,大幅提升了PHP語言的性能,使用PHP7可以使你的程序性能瞬間翻倍。即使是WordPress這樣重量級的軟件運行在PHP7都能有上千QPS,相當于一臺服務器每天就能處理8000萬次請求。
使用PHP7,做好MySQL優化,使用Memcache和Redis進行加速,這套技術架構完全可以應對相當大規模的系統。除了某些億級用戶的平臺之外,一般規模的系統完全沒有壓力。
PSR
PSR是PHPFramework Interop Group 組織制定的PHP語言開發規范,約定了很多方面的規則,如命名空間、類名規范、編碼風格標準、Autoload、公共接口等?,F在已經成為PHP技術社區事實上的標準了。很多知名的PHP框架和類庫都遵守了PSR規范。PHP開發者應當學習掌握PSR規范,在開發程序時應當盡量遵循PSR規范。
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是最好的選擇。
Laravel
最近幾年最火熱的PHP框架,官網號稱是為Web藝術家設計的框架,可見這套框架有多優雅。Laravel提供的功能模塊豐富,API設計簡潔,表達力強。而且它的社區非常活躍,代碼貢獻者眾多,第三方的插件非常多,生態系統相當繁榮。
Laravel底層使用了很多symfony2組件,通過composer實現了依賴管理。如果還在糾結使用什么PHP框架,不如選擇 Laravel。Laravel提供的命令行工具基于symfony.console實現,功能強大,集成了各種項目管理、自動生成代碼的功能。
Phar
PHP5.3之后支持了類似Java的jar包,名為phar。用來將多個PHP文件打包為一個文件。這個特性使得PHP也可以像Java一樣方便地實現應用程序打包和組件化。一個應用程序可以打成一個Phar包,直接放到PHP-FPM中運行。
配合Swoole,可以在命令行下執行php server.phar 一鍵啟動服務器。PHP的代碼包可以用Phar打包成組件,放到Swoole的服務器容器中去加載執行。
補充
除了上面提到的一些,因為一般PHP與MySQL組合使用,在很多有PHP的地方都會有MySQL,而這有涉及到MySQL相關的知識,如MySQL索引、緩存等技術。除此關于Linux方面的知識也是必要的。
如果想要長期在PHP方向發展,個人覺得,對于PHP內核相關的知識也是需要補充的。另外就是程序員關于設計模式方面的掌握。
參考資料
[1] 開源中國:十年程序員用眼告訴你 2018 PHP 不一樣
[2] PHP(一)——概述及服務器配置
[3] 15 張思維導圖來快速學習 PHP 語言基礎
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的2018年对PHP的新认知的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 定时执行 Job - 每天5分钟玩转 D
- 下一篇: 微软 Edge 109 用户反馈本次更新