将 laravel 应用程序转换为 lumen

Converting a laravel application to lumen

所以,我一直在构建一个 laravel 5.1 API,经过几个月的努力,我突然意识到我应该一直使用 Lumen。

有没有办法将 laravel 应用程序转换为 lumen 应用程序?

假设您使用的所有内容都在 Lumen 文档中并且实际上可供 Lumen 使用,您应该能够创建一个新的 Lumen 项目并将您的应用程序文件夹从 Laravel 拖放到新的 Lumen 项目中。

Lumen 本质上是 Laravel 的精简版。应用程序结构是相同的,所以就目前而言,创建一个新的 Lumen 应用程序并从您的 Laravel 应用程序复制 app 目录应该是安全的。

但是,出于性能方面的原因,Lumen 并没有开箱即用的所有 Laravel 好东西,有些根本就没有。因此,根据您的 Laravel 应用实施方式,您可能需要更改以下几项才能迁移您的应用:

  • Route definitions 必须迁移,因为 Lumen 使用不同的路由器
  • Lumen does not use the .env file by default,所以你需要取消注释 bootstrap/app.php 中的行 Dotenv::load() 如果你想让它工作
  • DBMailQueue 等门面在默认情况下也未启用。您可以通过在 bootstrap/app.php 中取消注释 $app->withFacades() 来启用它们。但是,即使您确实启用了它们,您在 Laravel
  • 中获得的外墙的 only get a portion
  • Eloquent 需要通过在 bootstrap/app.php
  • 中取消注释 $app->withEloquent() 来启用

我可能没有涵盖所有内容,但这是为了让您了解应该注意什么。所有这些都可以启用,但 Lumen 带来的性能优势主要是因为禁用了这些东西以消除开销,因此请尽可能修改您的应用程序以利用 Lumen 默认提供的功能。