《現代 PHP》學習筆記(十):元件

前言

本文為《現代 PHP》一書的學習筆記。

環境

  • Windows 10
  • XAMPP 3.2.2

為何使用元件

在過去,大型框架之間沒有使用共通的介面,只能把所有的時間花在單一框架的生態系統。如今,我們可以從為數眾多的元件中選擇適合的來製造自製的應用程式。

其他的開發者花了數不清的時間建立、最佳化和測試專門的元件,如果不善加利用,就是傻子。

什麼是元件

元件是一組用來解決特定問題的程式碼,例如發送和接收 HTTP 請求、解析逗號分割値資料,或者紀錄資訊等。

優良的 PHP 元件有以下特性:

  • 聚焦:聚焦在單一的問題上並完善地解決。
  • 小型:使用最小限度的程式碼來解決應當解決的問題。
  • 合作:可以跟其他元件有良好的銜接。
  • 測試:經過適當的測試,有足夠的程式碼覆蓋率。
  • 文件:提供良好的說明文件,能夠輕易地被使用者使用。

元件與框架

  1. 框架的問題是使用它們需要投入大量的心力。

  2. 框架開發者雖然會持續地花時間開發它,並確保持續兼容最新的標準,但這件事有時不會發生。即便是大型的 PHP 元件,同樣有被拋棄的風險。

  3. 使用程序式(Procedural)程式風格而非現代的物件導向(OOP)程式風格的框架,很可能阻礙了適時地為未來而改變的能力。

  4. Symfony 是現代 PHP 框架的典範,也可以當作是小型 Symfony 元件的聚合物。

  5. Drupal 8 權衡了它在許多 PHP 元件中的優勢,建立了現代的內容管理平台。

  6. Laravel 是由 Taylor Otwell 建立的熱門框架,可以用來建造威力十足的應用程式。

元件或框架

大多數的現代 PHP 框架不過是一堆小型的 PHP 元件所組合而成。

如果是小型專案,適合使用元件,以減少花費在工具上磨合的時間;如果是大型專案,適合使用框架,團體成員將從框架所提供的慣例、準則和架構中受益。

尋找元件

可以在 Packagist 中找到所需要的現代 PHP 元件。

越多的下載數和星號數代表這個元件可能是個好選擇,但並不是永遠如此。

參考資料

  • Josh Lockhart(2015)。現代 PHP。台北市:碁峯資訊。