由 Laravel 元件搭建而成的微框架:Lumen

jopen 9年前發布 | 30K 次閱讀 Lumen Web框架

什么是 Lumen?

Lumen 是一個由 Laravel 元件搭建而成的微框架, 由 Laravel 官方維護. Lumen 為速度而生, 是當前最快的 PHP 框架之一, 甚至比類似的微框架Silex速度還要快.

Lumen 比其他微框架的優點是, 構建在 Laravel 之上, 使其具備 Laravel 強大的功能, 如 路由, 依賴注入, Eloquent ORM, 數據庫遷移管理, 隊列和計劃任務等.

Laravel 本來就是一個功能齊全, 速度飛快的框架, 但是 Lumen 因為去除了很多 Laravel 的配置和可自定義的選項, 速度越加飛快, 毫秒必爭.

飛快的速度, 再加上 Laravel 非常方便的功能, 使用 Lumen 開發應用會是非常愉悅的體驗.


在什么時候使用 Lumen?

Lumen 專為微服務或者 API 設計, 舉個例子, 如果你的應用里面有部分業務邏輯的請求頻率比較高, 就可以單獨把這部分業務邏輯拿出來, 使用 Lumen 來構建一個小 App.

因為 Lumen 是對 Laravel 優化了框架的加載機制, 所以 Lumen 對資源的要求少很多.

當然, 你可以使用 隊列系統 與你的主 Laravel 應用進行交互. Laravel 和 Lumen 從一開始就是設計成能一起很好的工作, 并且, 配合使用, 允許你構架一個強大的, 以微服務為驅動的應用程序.

Lumen 同時也非常適用于構建 API 接口, 此類型的應用通常情況下不需要具備全棧框架的所有功能, 如 HTTP 會話管理, Cookies, 和模版系統.

Lumen 的限制

因為對框架的加載進行了優化, 去除靈活性來換取速度, 所以 Lumen 的可自定義性不是很強, 一些專為 Laravel 開發的擴展包可能無法使用, 如開發者工具條, CMS 系統等.

Lumen 沒有使用 Symfony 的路由模塊, 而是采用了速度更加快的nikic/fast-route. 如果你需要使用 Symfony 的路由功能, 如 子域名等高級路由功能, Lumen 可能不適合你, 建議使用功能更加齊全的 Laravel.

如果你真的選擇了全棧框架, 請放心使用, 構建在 Laravel 上的應用程序能處理每天 15,000,000 以上的請求, 沒什么可擔憂的.


Lumen 包含了哪些 Laravel 的功能

Lumen 包含了大部分的 Laravel 全棧框架的功能:

  • Blade 模版引擎
  • Caching 緩存系統
  • Command Scheduler 計劃任務
  • Controllers 控制器
  • Eloquent ORM 數據庫操作
  • Error Handling 錯誤處理
  • Database Abstraction 數據庫抽象層
  • Dependency Injection 依賴注入
  • Logging 日志系統
  • Queued Jobs 隊列系統

Lumen 獨特的初始化機制, 使其在功能強大的同時, 具備了高性能, 是構建微服務架構應用的絕佳方案.

項目主頁:http://www.baiduhome.net/lib/view/home/1429363758158

 本文由用戶 jopen 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!