Laravel
Laravel 是一個由 Taylor Otwell 所建立、自由開源的 PHP Web 框架,旨在實現 Web 軟件的 MVC(模型-視圖-控制器)架構,並作為 CodeIgniter 的替代方案[2][3]。其原始碼託管於 GitHub,許可條款為 MIT 許可證[1][3]。Laravel 的特色包含支持用戶身份驗證和授權,具有模塊化的包系統且有專屬的包庫,提供連接多種關係型數據庫的方式,提供工具來協助應用程式的部署和維護,並且發展出許多語法糖[1][3]。Laravel 與 Symfony、Zend、CodeIgniter、Yii2 和其他框架一起被視為最受歡迎的 PHP 框架之一[1]。
| 中文名 | Laravel |
|---|---|
| 英文名 | Laravel |
| 開發者 | Taylor Otwell |
| 首次發布 | 2011年6月[1] |
| 當前版本 | 13.17.0(2026年6月23日)[1] |
| 編程語言 | PHP |
| 類型 | Web應用框架 |
| 許可協議 | MIT許可證[1] |
| 網站 | laravel.com |
| 原始碼庫 | GitHub |
歷史
編輯創立背景
編輯Taylor Otwell 創建 Laravel 的初衷,是為 CodeIgniter 框架提供一個更先進的替代方案,因為 CodeIgniter 缺少某些功能,例如對用戶身份驗證和授權的內置支持[3][4]。Otwell 當時是美國阿肯色州的一名 .NET 開發人員,在使用 CodeIgniter 時發現無法在不破壞框架內部代碼的情況下添加所需功能,因此萌生了創建新框架的想法[5]。
版本演進
編輯Laravel 的第一個 Beta 測試版本於 2011 年 6 月 9 日發布,並在一個月後發布了正式版本 Laravel 1[1][3]。Laravel 1 默認提供了身份驗證、多語系、模型(Model)、視圖(View)、會話(Session)、路由和其他機制,但缺少控制器,因此無法成為真正的 MVC 框架[1]。
Laravel 2 於 2011 年 9 月正式發布,由作者與社區提供了許多優化[1]。主要的新功能包括支持控制器(Controller),使 Laravel 2 成為真正的 MVC 框架,並且實現了控制反轉(IoC),提供了模板引擎 Blade[1][3]。但同時也移除了對第三方包的支持[1][3]。
Laravel 3 於 2012 年 2 月發布[3],帶來的新功能包括:命令行界面(CLI)Artisan、支持多種數據庫管理系統、提供遷移(Migration)為數據庫做版本控制、支持事件(Event)的處理,以及封裝系統 Bundles[1][3]。隨着 Laravel 3 的發布,Laravel 的用戶和受歡迎程度也隨之增加[1]。
Laravel 4,代號為 Illuminate,於 2013 年 5 月發布[1][3]。此版本將過去的代碼完全重寫,並分散到許多獨立的包中,通過 Composer 進行管理(一個應用程式級別的包管理工具)[1][3]。這樣的修改提高了 Laravel 4 的可擴展性[1]。其他特點包括:數據庫的 Seeding(為數據庫建置初始數據)、支持隊列(Queue)、支持發送不同類型的電子郵件,並支持數據庫的軟刪除[1]。
Laravel 5 於 2015 年 2 月發布[1]。新的特點包括:提供周期性執行任務的調度器 Scheduler、提供一個抽象層 Flysystem 讓遠程與本地端的文件系統能有相同的操作方式、提供 Elixir 以管理靜態資源,並提供了可簡化串接 OAuth 登錄的包 Socialite[1]。Laravel 5 也同時修改了目錄結構[1]。Laravel 5.1 於 2015 年 6 月發布,是 Laravel 的第一個長期支持(LTS)版本[1]。
Laravel 6 於 2019 年 9 月發布,提供了更好的性能和更多的安全性,同時增加了大量的新功能[6]。Laravel 7.0 於 2020 年 3 月發布,增加了如 Laravel Nova、Blade 組件等新功能[6]。Laravel 8.0 於 2020 年 9 月發布,增加了類自動發現、路由緩存等新特性[6]。Laravel 9 於 2022 年 2 月發布,要求 PHP 8.0 或更高版本[7]。Laravel 10 於 2023 年 2 月發布,要求 PHP 8.1 或更高版本[7]。Laravel 11 於 2024 年 3 月發布,引入了更簡潔的應用程式結構、健康路由、無加密的秒級限流等特性[7][6]。
融資
編輯設計
編輯架構
編輯Laravel 遵循 MVC(模型-視圖-控制器)架構模式[1][3]。它基於 Symfony 框架的多個組件構建[3]。
核心特性
編輯- **Eloquent ORM**:一個 ActiveRecord 實現,用於數據庫交互,支持對關係雙方應用約束並完整集成 Fluent 查詢構造器的所有方法[8]。
- **Blade 模板引擎**:一個輕量級但功能強大的模板引擎,用於構建視圖[1]。
- **Artisan 命令行工具**:提供了一系列用於自動化常見開發任務的命令,如數據庫遷移、單元測試等[1][8]。
- **路由系統**:靈活且富有表現力的路由定義方式,支持 RESTful 風格的路由定義、路由分組、中間件等[8]。
- **中間件(Middleware)**:允許開發者在請求和響應的生命周期中插入自定義邏輯,有助於實現身份驗證、授權、緩存等功能[8]。
- **事件和監聽器(Events & Listeners)**:提供了一個事件系統,允許開發者在特定事件發生時觸發自定義邏輯,有助於實現解耦和可擴展的應用程式[8]。
- **服務容器(Service Container)**:一個用於依賴注入(DI)和依賴解析的工具[1]。
- **數據庫遷移(Migrations)**:為數據庫提供版本控制功能,便於團隊協作和部署[1]。
- **隊列(Queues)**:支持將耗時任務(如發送電子郵件)延遲處理,以提高應用程式的響應速度[1]。
生態系統
編輯Laravel 擁有一個龐大且活躍的生態系統,包括官方和社區提供的各種工具和服務:
- **Laravel Forge**:伺服器管理和部署工具,支持 AWS、DigitalOcean、Linode 等雲平台[9]。
- **Laravel Vapor**:一個由 AWS Lambda 驅動的無伺服器部署平台[9]。
- **Laravel Nova**:一個用於構建管理面板的優雅工具[9]。
- **Laravel Echo**:一個用於實時事件廣播的 JavaScript 庫[9]。
- **Laravel Socialite**:一個用於簡化 OAuth 身份驗證(如 Facebook、Twitter、Google 登錄)的包[1]。
- **Laravel Horizon**:一個用於監控和管理 Redis 隊列的面板[9]。
- **Laravel Telescope**:一個用於調試和監控應用程式的調試助手[9]。
- **Laravel Dusk**:一個用於自動化瀏覽器測試的工具[9]。
版本歷史
編輯Laravel 的主要版本發布遵循年度發布周期(約在第一季度)[10]。次要版本和補丁版本可能每周發布,且不包含破壞性變更[10]。對於所有 Laravel 版本,錯誤修復提供 18 個月,安全修復提供 2 年[10]。
- Laravel 1 – 2011 年 6 月
- Laravel 2 – 2011 年 9 月
- Laravel 3 – 2012 年 2 月
- Laravel 4 – 2013 年 5 月
- Laravel 5 – 2015 年 2 月
- Laravel 6 – 2019 年 9 月
- Laravel 7 – 2020 年 3 月
- Laravel 8 – 2020 年 9 月
- Laravel 9 – 2022 年 2 月
- Laravel 10 – 2023 年 2 月
- Laravel 11 – 2024 年 3 月
社區
編輯Laravel 擁有一個龐大且活躍的全球開發者社區[8]。社區貢獻了大量的擴展包、教程和文檔[8]。Laravel 的文檔被認為是最全面、最易於學習的現代 Web 應用框架文檔之一[8]。
參考文獻
編輯- ↑ 1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.07 1.08 1.09 1.10 1.11 1.12 1.13 1.14 1.15 1.16 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 Laravel - 維基百科,自由的百科全書
- ↑ 引用錯誤:無效的
<ref>標籤,未定義名稱為wiki-zh的參考文獻內容文字。 - ↑ 3.00 3.01 3.02 3.03 3.04 3.05 3.06 3.07 3.08 3.09 3.10 3.11 3.12 3.13 3.14 Laravel - Wikipedia
- ↑ 創始人拒絕投資 13 年、僅有幾十人的開源項目斬獲 81k+ GitHub star,用戶破百萬!網友:他一個人拯救了 PHP
- ↑ 5.0 5.1 Laravel 獲得 5700 萬美元融資,Web開發迎來新天地
- ↑ 6.0 6.1 6.2 6.3 6.4 框架Laravel有哪些版本迭代
- ↑ 7.0 7.1 7.2 Laravel News
- ↑ 8.0 8.1 8.2 8.3 8.4 8.5 8.6 8.7 8.8 Laravel - 百度百科
- ↑ 9.0 9.1 9.2 9.3 9.4 9.5 9.6 Laravel - The PHP Framework For Web Artisans
- ↑ 10.0 10.1 10.2 Laravel Release Notes