PHP 7:真實世界的應用開發(中文翻譯)

GanymedeNil發表於2020-10-04

PHP 7:真實世界的應用開發(中文翻譯)

推薦使用 Gitbook 以獲取最佳閱讀體驗。

譯序

作為一個使用了php多年的程式設計師,公司專案也經歷過5到7的升級,期間專案也出現過一些因為php7功能與php5 不一致導致的bug。我一直在尋找一本能詳細介紹 php 7 新特性與功能的書,後來找到了這本,雖然這本書釋出到現在已經差不多4年了,但是對於想詳細瞭解php7的朋友來說裡面所講述的內容我認為還是很有價值的。並且本書作者的一些觀點我也非常認同,就想著希望能讓更多人看到,趁著十一假期有時間想試著翻譯一下本書。本書實際是三本獨立的書,但如果單獨看這三本都感覺缺點什麼,把這三本書合併為一本我感覺就很相輔相成。本書的模組2也就是《高效能 php 7》部分已經由呂毅老師翻譯,本人就不再對本模組進行翻譯。如果我的翻譯能幫助到大家,也是我最大到榮幸。

前言

PHP 7 在開源社群掀起了一場風暴,它打破了之前版本的速度記錄,也重新引起了人們對它的關注。從最根本的意義上講,核心工程團隊已經對它進行了重大重寫,但仍能保持高度的向後相容性。PHP是一門開發Web應用的好語言。它本質上是一類伺服器端指令碼語言,也用於通用程式設計。PHP 7是最新的版本,提供了主要的向後相容性突破,並專注於提高效能和速度。這意味著你可以通過多執行緒網路伺服器,用低成本的硬體和伺服器維持網站的高流量。

這條學習之路都涵蓋了什麼

模組1,PHP 7 程式設計指南,本模組以 PHP 7 為中心,展示了中高階的PHP技術。每個示例都是為了解決像您這樣的 PHP 開發人員每天面臨的實際問題。其中還介紹了只有在 PHP 7 中才有的,新的編寫 PHP 程式碼的方法。此外,我們還討論了向後相容性中斷的問題,併為您提供了大量指導,告訴您何時何地需要修改 PHP 5 程式碼,以便在 PHP 7 下執行時產生正確的結果。本模組還包含了最新的 PHP 7.x 特性。在本模組結束時,您將具備為您的網站和企業提供高效應用程式所需的工具和技能。

模組2,學習 PHP 7 高效能,該模組是 PHP 7 的快速入門,這將提高您的生產力和編碼技能。所涉及的概念將使您作為一個PHP程式設計師,提高你的應用程式的效能標準。我們將向您介紹 PHP 7 中的新特性,然後介紹 PHP 7 中物件導向程式設計(OOP)的概念。接下來,我們將闡明如何提高 PHP 7 應用程式的效能和資料庫效能。通過這個模組,您將能夠使用模組中討論的各種基準測試工具來提高程式的效能。最後,模組討論了 PHP 程式設計中的一些最佳實踐,以幫助你提高程式碼的質量。

模組3,用 PHP 7 更新舊版應用程式,此模組將向您展示如何通過提取和替換舊版元件,從實踐和技術上而不是在使用框架和庫之類的工具方面對應用程式進行升級。 我們將採用循序漸進的方法,有條不紊地緩慢前進,從根本上改善您的應用程式。我們將向您展示依賴注入是如何替換新的和全域性依賴的。我們還將向您展示如何將表示邏輯改為檢視檔案,將動作邏輯改為控制器。此外,我們將使您的應用程式始終保持執行狀態。在這個過程中,每一個完成的步驟都會讓您的程式碼庫以更高的質量完全正常執行。當我們完成後,您將能夠像風一樣輕而易舉地通過您的程式碼。您的程式碼將是自動載入、依賴注入、單元測試、層級分離和前端控制。我們將新增到您的應用程式中的大多數非常有限的程式碼都是針對這個模組的。我們將以程式設計師的身份提高自己,並提高傳統應用程式的質量。

你在這條學習之路上需要什麼

模組1

要成功地實現本模組中介紹的示例,你只需要一臺計算機,100MB 的額外磁碟空間,和一個文字或程式碼編輯器(不是文書處理器!)。第一章將介紹如何設定 PHP 7 開發環境。擁有一個 Web 伺服器是可選的,因為 PHP 7 包含一個開發 Web 伺服器。不需 Internet 連線,但下載程式碼(如 PSR-7 介面集)和檢視 PHP 7.x 文件可能會需要。

模組2

任何符合執行以下軟體最新版本的硬體規格,應該都足以通過本模組。

  • 作業系統: Debian 或 Ubuntu
  • 軟體: NGINX、PHP 7、 MySQL、 PerconaDB、 Redis、 Memcached、 Xdebug、Apache JMeter、 ApacheBench、Siege 和 Git

模組3

您需要參考本模組的“第二章,先決條件“來了解本模組所需的基本硬體和軟體要求。本章將詳細描述這些要求。

這條路是為誰而設

如果您是一個有抱負的Web開發人員,移動應用開發人員或後端程式設計師,並且具有PHP程式設計的基本經驗並希望開發對效能至關重要的應用程式,那麼這個課程是為你準備的。它將使您的PHP程式設計技能更上一層樓。

支援

課程的程式碼包也託管在github上 GitHub.com/packtpublishing/php-7-b...

法律申明

譯者純粹出於學習目的個人興趣翻譯本書,不追求任何經濟利益。

譯者保留對此版本譯文的署名權,其他權利以原作者和出版社的主張為準。

本譯文只供學習研究參考之用,不得公開傳播發行或用於商業用途。有能力閱讀英文書籍者請購買正版支援。

LICENSE

CC-BY 4.0

本作品採用《CC 協議》,轉載必須註明作者和本文連結

相關文章