web-dev-qa-db-fra.com

Différences et similitudes entre Lumen et Laravel

J'ai lu la documentation et il semble que Lumen est Laravel avec moins de fonctionnalités. Il me manque quelque chose… Je recherche un tableau comparatif des composants et des fonctionnalités de Laravel et de Lumen. Est-ce que quelqu'un sait les différences?

162
Ranjit Karki

Mise à jour (5.2)

Avec la dernière version de Lumen (5.2), Microframework se concentre sur les API sans état.
La documentation indique:

Lumen 5.2 incite Lumen à se concentrer uniquement sur le service des API JSON sans état. En tant que tels, les sessions et les vues ne sont plus incluses dans le cadre. Si vous avez besoin d'accéder à ces fonctionnalités, vous devez utiliser le cadre complet de Laravel.


Réponse originale (<= 5.1)

Lumen est une question de vitesse. Il est plus rapide et peut traiter plus de demandes par seconde que Laravel.

Laravel est un framework qui regroupe de nombreux composants (composants tiers et propres composants de Laravels). Maintenant, Lumen utilise beaucoup des mêmes composants, mais réduit au minimum le processus d’amorçage. Vous pourriez dire que c'est une "colle différente", les composants (et donc beaucoup de fonctionnalités) sont généralement les mêmes.

L’amélioration des performances est obtenue en retirant une partie de la flexibilité du framework en termes de configuration et en modifiant le processus de démarrage par défaut. 

De plus, plus de fonctionnalités sont désactivées par défaut et doivent être activées avant de pouvoir être utilisées. Par exemple: Façades (comme DB::table())
Vous devez d’abord décommenter cette ligne dans bootstrap/app.php pour les activer:

// $app->withFacades();

Il en va de même pour les fichiers d’environnement Dotenv et Eloquent.

Pour le routage, Lumen utilise nikic/FastRoute au lieu de symfonys router car il fonctionne beaucoup mieux et donne un autre coup de pouce au micro-framework.

À part cela, tout est à peu près le même qu'à Laravel.

Bon lit sur Lumen

190
lukasgeiter

Lumen n'est pas conçu pour remplacer Laravel, il s'agit plutôt d'un framework plus spécialisé (et simplifié) conçu pour les micro-services et les API. Il supprimait des fonctionnalités inutiles pour une API, telles que les sessions HTTP et les cookies, et limitait également le nombre d'options de configuration. Sortant des sentiers battus, Lumen a sacrifié la flexibilité de Laravel pour la rapidité.

Cependant, vous pouvez ajouter des composants Laravel à Lumen pour l’étendre. Ainsi, il est utilisé peut pour plus que des micro-services et des API. Toutefois, si votre objectif est d’étendre Lumen pour devenir un site Web, vous pouvez également utiliser Laravel.

Ils ont également différents cas d'utilisation. Lumen et Laravel sont censés travailler ensemble. Pour que les API et les services soient fréquemment appelés, utilisez Lumen. Pour les applications orientées utilisateur, utilisez Laravel.


Cette réponse est tirée d’un blog post j’écris qui explique la différence entre Lumen et Laravel.

38
d4nyll

Citation de Matt Stauffer 

Lumen a les mêmes fondements que Laravel et bon nombre des mêmes composants. Mais Lumen est conçu pour les microservices, pas tellement pour les applications destinées aux utilisateurs (bien qu'il puisse être utilisé pour n'importe quoi). En tant que telle, les finesses frontales telles que Bootstrap et Elixir et le processus d'authentification et les sessions d'authentification ne sont pas activés dès le départ, et il y a moins de flexibilité pour l'extension et la modification des fichiers d'amorçage.

Vous pouvez en lire plus ici

13
Ivan Dokov

Le microframework Lumen est une version légère du framework Laravel Full-stack. Lumen utilise la syntaxe et les composants de Laravel et peut facilement être mis à niveau vers Laravel.

Lumen est un framework plus spécialisé (et simplifié) conçu pour le développement de Microservices et le développement d’API. Ainsi, certaines des fonctionnalités de Laravel telles que les sessions HTTP, les cookies et les modèles ne sont pas nécessaires et Lumen les enlève, en gardant l'essentiel: routage, journalisation, mise en cache, files d'attente, validation, gestion des erreurs, etc.

4
pardeep

Pourquoi Lumen? 

Lumen est la solution idéale pour la création de micro-services basés sur Laravel et d’API rapides. En fait, c'est l'un des micro-cadres les plus rapides disponibles. Il n’a jamais été aussi simple d’écrire des services extrêmement rapides pour prendre en charge vos applications Laravel. Doc

Lumen est un framework pour construire des API, qui serviront essentiellement à fournir des réponses JSON pour vos demandes. C'est tout.

Ces types d’applications sont appelés services Web en général

À partir de la mise à jour Lumen 5.2, elle ne prend pas en charge les vues, les sessions, etc.

Certains composants du framework Laravel sont échangés avec d'autres packages en faveur de la performance. vérifiez-les ici

Exemples de scénarios où nous pouvons envisager Lumen

  • Vous voudrez peut-être ouvrir certaines fonctionnalités d'une application à d'autres développeurs via une API
  • Votre application doit prendre en charge les applications Web et mobiles. Elle sera alors idéale pour stocker les données dans une base de données encapsulée dans l'API Lumen.
  • Lorsque vous considérez l’évolutivité comme un point important, vous pouvez avoir besoin de Lumen.
0
Shobi