What is Lumen?
Lumen is a micro-framework built from Laravel components and is officially maintained by Laravel. Lumen is built for speed and is one of the fastest PHP frameworks out there, even faster than the similar microframework Silex.
The advantage of Lumen over other micro-frameworks is that it is built on Laravel, giving it powerful features of Laravel, such as routing, dependency injection, Eloquent ORM, database migration management, queues and scheduled tasks, etc.
Laravel is originally a framework with full functions and fast speed, but because Lumen has removed many Laravel configurations and customizable options, the speed is getting faster and faster, and milliseconds count.
With the fast speed and the very convenient functions of Laravel, developing applications using Lumen will be a very pleasant experience.
Related recommendations: "php Getting Started Tutorial"
When should I use Lumen?
Lumen is specially designed for microservices or APIs. For example, if there is some business logic in your application that has a relatively high request frequency, you can take out this part of the business logic separately and use Lumen to build a small App.
Because Lumen optimizes the loading mechanism of the framework for Laravel, Lumen has much fewer resource requirements.
Of course, you can use the queue system to interact with your main Laravel application. Laravel and Lumen were designed from the ground up to work well together and, used together, allow you to build a powerful, microservices-driven application.
Lumen is also very suitable for building API interfaces. This type of application usually does not need to have all the functions of the full-stack framework, such as HTTP session management, cookies, and template systems.
Limitations of Lumen
Because the loading of the framework is optimized and flexibility is removed in exchange for speed, Lumen is not very customizable. Some specialized Extension packages developed for Laravel may not be available, such as developer toolbars, CMS systems, etc.
Lumen does not use Symfony's routing module, but uses the faster nikic/fast-route. If you need to use Symfony's routing functions, such as subdomain names and other advanced routing functions, Lumen may not be suitable for you. It is recommended to use Laravel, which has more complete functions.
If you do choose a full-stack framework, feel free to use it. Applications built on Laravel can handle more than 15,000,000 requests per day, so there is nothing to worry about.
What Laravel functions does Lumen include?
Lumen includes most of the functions of the Laravel full-stack framework:
·Blade template engine
·Caching caching system
·Command Scheduler scheduled task
· Controllers Controller
·Eloquent ORM Database Operation
·Error Handling Error Handling
· Database Abstraction Database abstraction layer
·Dependency Injection
·Logging Logging system
·Queued Jobs Queue System
Lumen's unique initialization mechanism makes it powerful and high-performance at the same time. It is an excellent solution for building microservice architecture applications.
Summary:
1. Lumen is a sub-framework built from Laravel components and is officially maintained by Laravel. The code on it can be placed without modification. Running on Laravel.
2. Lumen is one of the fastest PHP frameworks currently. It removes many configurations and options in Laravel to improve its speed.
3. The advantage of Lumen is that it is fast, and it also has most of the powerful functions of Laravel.
4. The disadvantage of Lumen is that it sacrifices a certain degree of flexibility to ensure speed, so it is not very definable. At the same time, some extension packages developed for Laravel may not be used on it.
5. Scope of use of Lumen: suitable for implementing parts with very high interaction frequency.
6. Generally speaking, it is recommended to use Lumen when developing API servers.
The above is the detailed content of What framework is used to develop api in php. For more information, please follow other related articles on the PHP Chinese website!