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 lar
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:
Dotenv::load()
in bootstrap/app.php
if you want it to workDB
, 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$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.
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.