在前天(2018-08-02
)已經發布了PHP 7.3.0.beta1 Releasedphp
若是你尚未使用 PHP7 ,那真的很遺憾。2018年PHP開發者應該熟練使用 PHP7,而且知道版本更新內容。html
若是你在想使用一個擴展包時,還在下載源碼,並嘗試修改命名空間來嵌入你的項目中,你應該改變了。
至少應該使用 Composer 進行依賴管理,能夠看看我之前寫的 《使用Composer管理依賴》
如今的擴展包基本都支持 Composer 安裝,你也能夠嘗試在 Packagist 上發佈一個本身的包,能夠對包管理的理解加深laravel
Guzzle 是一個 PHP 的 HTTP 客戶端,用來垂手可得地發送請求,並集成到咱們的 WEB 服務上。
它的優勢有構建查詢語句、POST
請求、分流上傳下載大文件、使用 HTTP cookies
、上傳 JSON
數據等等。
《Guzzle中文文檔》git
Carbon 是一個繼承於 PHP 的 DateTime
類的時間類,讓用法更加人性化
可讓你在處理時間時事半功倍,能夠看看我之前寫的 《使用Carbon》程序員
MongoDB 是一個基於分佈式文件存儲的數據庫。由 C++ 語言編寫。旨在爲 WEB 應用提供可擴展的高性能數據存儲解決方案。
MongoDB 是一個介於關係數據庫和非關係數據庫之間的產品,是非關係數據庫當中功能最豐富,最像關係數據庫的。
以 MongoDB 做爲非關係型數據庫的開始很是好,能夠看 《PHP7操做MongoDB》github
Redis 是一個可基於內存亦可持久化的日誌型、Key-Value
數據庫,經常使用於需求不高的隊列,不少框架內置了。算法
Docker 是一個開源的引擎,能夠輕鬆的爲任何應用建立一個輕量級的、可移植的、自給自足的容器。
對開發和運維人員來講,最但願的就是一次性建立或配置,能夠在任意地方正常運行。
使用 Docker 能夠經過定製應用鏡像來實現持續集成、持續交付、部署。開發人員能夠經過 DockerFile
來進行鏡像構建,並結合 持續集成系統進行集成測試,而運維人員則能夠直接在生產環境中快速部署該鏡像,甚至結合持續部署系統進行自動部署。
而使用 DockerFile
使鏡像構建透明化,不單單開發團隊能夠理解應用運行環境,也方便運維團隊理解應用運行所需條件,幫助更好的生產環境中部署該鏡像。
Docker 入門能夠從這裏開始 《什麼是Docker》docker
持續集成 CI(Continuous integration)是一種軟件開發實踐,即團隊開發成員常常集成他們的工做,經過每一個成員天天至少集成一次,也就意味着天天可能會發生屢次集成。每次集成都經過自動化的構建(包括編譯,發佈,自動化測試)來驗證,從而儘早地發現集成錯誤。
集成工具不少,流行的有 Jenkins,Travis CI
我博客用的是 AppVeyor:《使用AppVeyor持續集成本博客》數據庫
良好的代碼規範能夠提升代碼可讀性,下降團隊溝通維護成本。
PSR(PHP Standard Recommendations)是 PHP 標準規範 ,是 PHP 開發的實踐標準。
其中 PSR-1 和 PSR-2 是編碼風格規範。
StyleCI 提供 PHP 代碼風格持續集成服務設計模式
測試對於程序員的重要性不言而喻
PHPUnit 是 PHP 單元測試包,由 Sebastian Bergmann 開發
Laravel 有開箱即用的測試: 《在Laravel中測試》
PHP 因爲它的特色,在開發微信上很是方便,也被做爲開發首選。
對於未接觸過 OAuth2.0 或者是不理解 RESTful API 的開發者,這是一個很好的學習機會,開發中看看官方文檔就能夠了
《微信公衆平臺文檔》《微信支付文檔》《企業微信開發文檔》
API 開發也能夠看看《我所理解的接口設計》
在 Laravel 中你可能會接觸到 依賴注入
、Facade
、服務容器
等概念,能夠擴展閱讀一波,
包括建立模式(Creational Patterns)、架構模式(Structural Patterns)、行爲模式(Behavioral Patterns)
開發中應該遵循的《SOLID原則》,它來自於 PHP 代碼簡潔之道 ( PHP Clean Code)
MySQL 是 PHP 開發者接觸最多的數據庫了,這篇文章講解了經過分庫、分表等方式來《MySQL優化》
須要瞭解的《什麼是 JWT》
數據結構與算法 是一個程序員必需的內功(PHPer 對於這方面要本身判斷)
固然,在技術越發熟練後,掌握一門新的語言,或是往全棧發展(利弊須要本身分析)也是很好的。
對 Web 開發者來講語言推薦 Python 和 Golang ,全棧的選擇很是多,推薦熱門的 Laravel+Vue.js+ElementUI