前言
本文為《現代 PHP》一書的學習筆記。
環境
- Windows 10
- XAMPP 3.2.2
為何使用元件
在過去,大型框架之間沒有使用共通的介面,只能把所有的時間花在單一框架的生態系統。如今,我們可以從為數眾多的元件中選擇適合的來製造自製的應用程式。
其他的開發者花了數不清的時間建立、最佳化和測試專門的元件,如果不善加利用,就是傻子。
什麼是元件
元件是一組用來解決特定問題的程式碼,例如發送和接收 HTTP 請求、解析逗號分割値資料,或者紀錄資訊等。
優良的 PHP 元件有以下特性:
- 聚焦:聚焦在單一的問題上並完善地解決。
- 小型:使用最小限度的程式碼來解決應當解決的問題。
- 合作:可以跟其他元件有良好的銜接。
- 測試:經過適當的測試,有足夠的程式碼覆蓋率。
- 文件:提供良好的說明文件,能夠輕易地被使用者使用。
元件與框架
框架的問題是使用它們需要投入大量的心力。
框架開發者雖然會持續地花時間開發它,並確保持續兼容最新的標準,但這件事有時不會發生。即便是大型的 PHP 元件,同樣有被拋棄的風險。
使用程序式(Procedural)程式風格而非現代的物件導向(OOP)程式風格的框架,很可能阻礙了適時地為未來而改變的能力。
Symfony 是現代 PHP 框架的典範,也可以當作是小型 Symfony 元件的聚合物。
Drupal 8 權衡了它在許多 PHP 元件中的優勢,建立了現代的內容管理平台。
Laravel 是由 Taylor Otwell 建立的熱門框架,可以用來建造威力十足的應用程式。
元件或框架
大多數的現代 PHP 框架不過是一堆小型的 PHP 元件所組合而成。
如果是小型專案,適合使用元件,以減少花費在工具上磨合的時間;如果是大型專案,適合使用框架,團體成員將從框架所提供的慣例、準則和架構中受益。
尋找元件
可以在 Packagist 中找到所需要的現代 PHP 元件。
越多的下載數和星號數代表這個元件可能是個好選擇,但並不是永遠如此。
參考資料
- Josh Lockhart(2015)。現代 PHP。台北市:碁峯資訊。