Laravel 的歷史

茄子發表於2017-05-15

file

本文翻譯自 https://maxoffsky.com/code-blog/history-of...
圖片來源 Unsplash

Laravel 4 出現之前的 PHP 框架世界

PHP 5.3 版本於 2009 年 8 月釋出,它引入了名稱空間和名為閉包的匿名函式等新語言特性。這些新特性旨在幫助 PHP 開發人員更好的編寫物件導向的程式碼。儘管提供了許多好處,並指出一個光明的發展前途,但是眾多框架並未關注未來,而是側重於支援舊版本的 PHP。此時框架陣營主要包括 Symfony,Zend,Slim 微框架,Kohana,Lithium 和 CodeIgniter,CodeIgniter 可能是當中最具知名度的 PHP 框架。開發人員喜歡它的全面文件和簡單性,任何 PHP 程式設計師都可以快速開始使用它。它的創造者提供了大量的支援,和一個龐大的社群。不過時間到了 2011 年,Laravel 的創始人Taylor Otwell 認為 CodeIgniter 缺乏一些構建 Web 應用程式的關鍵功能。例如,CodeIgniter 缺少開箱可用的使用者驗證和閉包路由。Laravel 的第一個測試版本在 2011 年 6 月 9 日釋出,據 Laravel 的創始人 Taylor Otwell 介紹,Laravel 版本 1 僅僅是為了解決使用 PHP 框架 CodeIgniter 時不斷增長的痛苦。

Laravel 1

從第一個版本開始,Laravel 已經包含了內建的使用者認證,用於資料庫操作的 Eloquent ORM,本地化,模型以及關係,簡單的路由機制,快取,Session,檢視,通過模組和庫提供的擴充套件性,表單,HTML 幫助函式 等等特性。
此時Laravel 還不是一個 MVC 框架,因為它還沒有控制器功能。不過開發者們立即喜歡上這個新框架的乾淨語法,和它蘊含的潛力。在接下來的幾個月中,Taylor 新增了驗證方法,分頁,命令列包安裝器,擴充套件了 Eloquent ORM,併為框架的元件新增了數以百計的單元測試。 Laravel 在不到六個月的時間內就從版本 1 升級到了 版本 2 。

Laravel 2

2011 年 11 月 24 日私有釋出了版本 2,它在 Readme 檔案裡寫到:
“Laravel 使用簡單,富有表現力的語法來構建精彩的應用程式,將你從義大利麵條式的程式碼中釋放出來。開發應該是讓你享受的創造性體驗,而不是痛苦的事情。享受新鮮空氣。“
作為框架的第二個主要版本,它從創作者和社群中得到了一些穩固的升級。實現了以下功能:控制器支援,「Blade」模板引擎,依賴反轉控制的容器。隨著控制器的加入,該框架成為一個完全合格的 MVC 框架。開發者們很興奮 Laravel 被塑造的模樣,但不滿意取消了第三方模組的支援(在第 3 版中作為 Bundle 被重新引入)。路由和控制器可以進行混合和匹配的能力(以前流行的 PHP 框架缺乏的一個功能),強大的 Eloquent ORM,以及在框架核心中使用控制反轉的模式,這些特性吸引了更多的開發者興奮的嘗試新的 Laravel 框架。不到兩個月後,新的主要版本釋出,Laravel 3 .

Laravel 3

Laravel 3 釋出於 2012 年 2 月 22日,伴隨一個閃亮的新網站和眾多新功能。此版本專注於整合單元測試,Artisan命令列介面,資料遷移,時間,更多的 Session 驅動器,和資料庫驅動器,「bundle」的整合等等。Eloquent ORM 被重構成一個 bundle 包,並且在短時間內沒有被包含進框架。它最終被納入 Laravel 3,從那之後一直是框架的一部分。Laravel 3 是當時最穩定的 Laravel ,它足夠強大以應付各種不同的 Web 應用程式。與其他框架相比,它又足夠簡單,以及平滑的學習曲線。
Laravel 3 很快便追上了如 CodeIgniter 和 Kohana 這樣的 PHP 框架大男孩,許多開發者因其強大的功能和表現力從其他框架切換過來。眾多關於 Laravel 3 的部落格帖子,教程,評論和課程出現在網路上,Laravel 成為 PHP 世界的新熱點。關於 Laravel 的論壇持續的引導新的使用者。Laravel 3 在穩定的版本中保持了相當長的一段時間,但在框架釋出 5 個月後,框架的建立者決定從頭開始重寫整個框架,使之成為一組通過 PHP 依賴管理器「Composer」分發的軟體包。Laravel 4 在開發中的代號為 「Illuminate」。Laravel 4 是一個重大升級,其擁有全新構建的框架核心,和令人驚訝的擴充套件性。下表顯示了所有 Laravel 版本的功能比較,包括最後一個主要版本 Laravel 4(譯註:文章釋出於 2013 年 7 月)。Laravel 4 裡發生了什麼變化,以及為何會從之前的版本發生如此大的飛躍?

Laravel 版本比較

特性 Laravel 1 Laravel 2 Laravel 3 Laravel 4
Auth
Cache
Eloquent
DB Connectors
MySQL
PostgreSQL
SQLServer
Migrations
IoC container
Config
Form helpers
HTML helpers
URL helpers
Routing
Controllers
Models
Views
Relationships between models
Redirects
Response
String helpers
Validation
Unit Tests
Blade templating engine
DB Seeding
Queues
Mail
Facades
Command line interface (CLI)
擴充套件性實現 模組 模組 bundle composer 包

Illuminate,也被稱之為 Laravel 4

Laravel 4 於 2013 年 5 月 28 日釋出,在版本 3 之後的 1 年又 3 個月。似乎每隔幾個月都有一個 Laravel 新版本。儘管頻繁釋出新版本是框架在發展的一個跡象,不過這也降低了框架的可靠性。一些開發者抱怨「節奏太快」和「不穩定」,因為他們必須遷移到新版本,有時候因此無法在以前的架構上構建大型應用程式。社群希望有更多的穩定性,以及一些新功能和經過更好單元測試的 Laravel 元件。Laravel 4 是所有以前框架的頂端,展現了 PHP 開發的光明前景。
Laravel 4 從一開始就被重寫為一個元件(或包)的集合,它們相互融合以構成一個框架。這些元件的管理通過名為「Composer」的最佳 PHP 依賴管理器完成。Laravel 4 具有一系列之前 Laravel 版本(甚至其它 PHP 框架)所不具有的功能:資料庫種子,訊息佇列,內建郵件應用,更強大的包含範圍定義、軟刪除等功能的 Eloquent ORM。
與之前的 Laravel 版本不同,從現在起 Laravel 將有一個定期的釋出時間表 - 每 6 個月釋出一次包含程式修補和錯誤修復的小版本。隨著更多的單元測試已經覆蓋 100% 的框架功能,Laravel 4 承諾通過 Composer 軟體包提供更加穩定和輕鬆的擴充套件。
通過擁抱 PHP 5.4 的新功能,Laravel 在短短兩年多的時間裡已經走了很長的路,吸引了越來越多的全球開發者。框架背後的遠見卓識者 - Taylor Otwell 和圍繞 Laravel 的社群在很短的時間內為 PHP Web 應用程式創造了一個對未來有好的基礎架構,取得了巨大的進步。使用者與貢獻者社群的穩定增長,也意味著 Laravel 的成功。

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

Night gathers, and now my watch begins.

相關文章