Ich habe die Dokumentation gelesen und es scheint, dass Lumen Laravel mit weniger Funktionen ist. Mir muss etwas fehlen. Ich suche eine Vergleichstabelle der Komponenten und Merkmale von Laravel und Lumen. Kennt jemand die Unterschiede?
181
Antworten:
Update (5.2)
Mit der neuesten Version von Lumen (5.2) konzentriert sich das Mikroframework auf zustandslose APIs.
In der Dokumentation heißt es:
Ursprüngliche Antwort (<= 5.1)
Bei Lumen dreht sich alles um Geschwindigkeit . Es ist schneller und kann mehr Anfragen pro Sekunde verarbeiten als Laravel.
Laravel ist ein Framework, das viele Komponenten zusammenklebt (Komponenten von Drittanbietern und Laravels eigenen Komponenten). Jetzt verwendet Lumen viele der gleichen Komponenten, reduziert jedoch den Bootstrapping-Prozess auf ein Minimum. Man könnte sagen, es ist ein "anderer Kleber", die Komponenten (und daher viele der Funktionen) sind größtenteils gleich.
Die Leistungsverbesserung wird erreicht, indem ein Teil der Flexibilität des Frameworks in Bezug auf die Konfiguration weggenommen und der Standardstartprozess geändert wird.
Außerdem sind weitere Funktionen standardmäßig deaktiviert und müssen aktiviert werden, bevor sie verwendet werden können. Als Beispiel: Fassaden (wie
DB::table()
)Sie müssen diese Zeile zuerst auskommentieren
bootstrap/app.php
, um sie zu aktivieren:Gleiches gilt für Dotenv-Umgebungsdateien und Eloquent.
Für das Routing verwendet Lumen Nikic / FastRoute anstelle von Symfonys Router, da es eine viel bessere Leistung erbringt und dem Micro-Framework einen weiteren großen Schub verleiht.
Davon abgesehen ist so ziemlich alles das gleiche wie in Laravel.
Gute Lektüre über Lumen
quelle
Lumen soll Laravel nicht ersetzen, sondern ist ein spezialisierteres (und abgespecktes) Framework für Mikrodienste und APIs. Es wurden nicht benötigte Funktionen für eine API wie HTTP-Sitzungen und Cookies entfernt und die Anzahl der Konfigurationsoptionen begrenzt. Lumen hat die Flexibilität von Laravel für die Geschwindigkeit geopfert.
Sie können jedoch Laravel Komponenten Lumen hinzufügen , sie zu verlängern, so dass es kann für mehr verwendet werden als nur Mikro-Dienste und API. Wenn Sie jedoch Lumen zu einer Website erweitern möchten, können Sie stattdessen auch Laravel verwenden.
Sie haben auch unterschiedliche Anwendungsfälle. Lumen und Laravel sollen zusammenarbeiten. Verwenden Sie Lumen, damit APIs und Dienste häufig aufgerufen werden. Verwenden Sie für benutzerbezogene Anwendungen Laravel.
Diese Antwort stammt aus einem Blog-Beitrag, den ich geschrieben habe und der den Unterschied zwischen Lumen und Laravel erklärt.
quelle
Zitat von Matt Stauffer
Sie können mehr lesen hier
quelle
npm install
so ist es nicht vollständig "out-of-the-box", würde ich sagen. Wir verlieren in dieser Hinsicht nicht viel, wenn wir zu Lumen wechseln. In Lumen erstelle ich einfach ein package.json und npm installiere Elixer undredirect()->intended
. Ich hoffe, Lumen wird in diesen Bereichen aufholen. Ich mag ein Laravel ohne ORM (Eloquent) sehr und deshalb gefällt mir Lumen sehr gut.redirect()->intended()
bei einer API nicht viel Verwendung , worauf sich Lumen konzentriert.Lumen Microframework ist eine leichte Version des Laravel Full-Stack-Frameworks. Lumen verwendet die Laravel-Syntax und -Komponenten und kann problemlos auf Laravel aktualisiert werden.
Lumen ist ein spezialisierteres (und abgespecktes) Framework für die Entwicklung von Microservices und APIs. Einige der Funktionen in Laravel, wie z. B. HTTP-Sitzungen, Cookies und Vorlagen, werden nicht benötigt, und Lumen entfernt sie, um das Wesentliche beizubehalten - Routing, Protokollierung, Caching, Warteschlangen, Validierung, Fehlerbehandlung und einige andere.
quelle
Warum Lumen?
Lumen ist ein Framework zum Erstellen von APIs, die im Wesentlichen JSON-Antworten für Ihre Anforderungen bereitstellen. Das ist es.
Diese Arten von Anwendungen werden im Allgemeinen als Webdienste bezeichnet .
Ab dem Lumen 5.2-Update werden keine Laravel-Ansichten, -Sitzungen usw. unterstützt. Dafür müssen Sie ein Upgrade auf das vollständige Laravel-Framework durchführen.
Einige Komponenten des Laravel-Frameworks werden zugunsten der Leistung gegen andere Pakete ausgetauscht. Überprüfen Sie sie hier
Beispielszenarien, in denen wir Lumen betrachten können
quelle
Der Hauptunterschied zwischen Laravel und Lumen besteht darin, dass Laravel handwerkliche Befehle haben kann, die Lumen nicht hat.
quelle