Converting a laravel application to lumen

耗尽温柔 提交于 2020-01-12 07:17:15

问题


So, I have been building a laravel 5.1 API and after months of work on it it dawned on me that I should have been using Lumen all along.

Is there a way to convert a laravel app to a lumen app?


回答1:


Lumen is essentially a stripped down version of Laravel. The application structure is the same, so as far as that goes it should be safe to create a new Lumen app and copy the app directory from your Laravel app.

However, for performance reasons, Lumen does not have all the Laravel goodies working out of the box, and some are not there at all. So depending on how you've implemented you're Laravel app, here's a few things that you might need to change in order to migrate your app:

  • Route definitions will have to be migrated because Lumen uses a different router
  • Lumen does not use the .env file by default, so you need to uncomment the line Dotenv::load() in bootstrap/app.php if you want it to work
  • Facades such as DB, Mail, Queue are also not enabled by default. You can enable them by uncommenting $app->withFacades() in bootstrap/app.php. However, even if you do enable them you only get a portion of the facades that you get in Laravel
  • Eloquent needs to be enabled by uncommenting $app->withEloquent() in bootstrap/app.php

I've probably not covered everything, but this is to offer an idea on what you should be looking out for. All those things can be enabled, but the performance benefits Lumen brings are mostly because those things are disabled to get rid of that overhead, so try to modify your application wherever possible to make use of what Lumen offers by default.




回答2:


Assuming everything you are using is in the Lumen documentation and actually available to Lumen, you should be able to create a new Lumen project and drop your app folder from Laravel into the new Lumen project.



来源:https://stackoverflow.com/questions/33811475/converting-a-laravel-application-to-lumen

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!