wake-up-neo.net

Unterschiede und Gemeinsamkeiten zwischen Lumen und Laravel

Ich habe die Dokumentation gelesen und es sieht so aus, als ob Lumen mit weniger Merkmalen Laravel ist. Mir muss etwas fehlen ... Ich suche eine Vergleichstabelle der Komponenten und Merkmale von Laravel und Lumen. Kennt jemand die Unterschiede?

162
Ranjit Karki

Update (5.2)

Mit der neuesten Version von Lumen (5.2) konzentriert sich das Microframework auf Statuslose APIs.
Die Dokumentation besagt:

Lumen 5.2 bedeutet eine Verschiebung des Abnehmens von Lumen, um sich ausschließlich auf die Zustellung zustandsloser JSON-APIs zu konzentrieren. Somit sind Sitzungen und Ansichten nicht mehr im Framework enthalten. Wenn Sie Zugriff auf diese Funktionen benötigen, sollten Sie das vollständige Laravel-Framework verwenden.


Ursprüngliche Antwort (<= 5.1)

Lumen dreht sich alles um Geschwindigkeit. Es ist schneller und kann mehr Anfragen pro Sekunde verarbeiten als Laravel.

Laravel ist ein Rahmen, der viele Komponenten miteinander verbindet (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, dass es sich um einen "anderen Kleber" handelt, die Komponenten (und daher viele der Funktionen) sind größtenteils gleich.

Die Leistungsverbesserung wird erreicht, indem die Flexibilität des Frameworks in Bezug auf die Konfiguration und die Änderung des Standard-Startvorgangs eingeschränkt wird. 

Darüber hinaus 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 in bootstrap/app.php auskommentieren, um sie zu aktivieren:

// $app->withFacades();

Gleiches gilt für Dotenv-Umgebungsdateien und Eloquent.

Für das Routing verwendet Lumen nikic/FastRoute anstelle des symfonys-Routers, da er wesentlich besser arbeitet und dem Mikro-Framework einen weiteren Schub gibt.

Ansonsten ist so ziemlich alles wie in Laravel.

Gute Lektüre über Lumen

190
lukasgeiter

Lumen ist nicht als Ersatz für Laravel gedacht, vielmehr handelt es sich um ein eher spezialisiertes (und reduziertes) Rahmenwerk für Mikrodienste und APIs. Dadurch wurden nicht benötigte Funktionen für eine API wie HTTP-Sitzungen und Cookies weggenommen und die Anzahl der Konfigurationsoptionen eingeschränkt. Out-of-the-Box, Lumen opferte die Flexibilität von Laravel für Geschwindigkeit.

Sie können jedoch Laravel-Komponenten zu Lumen hinzufügen, um sie zu erweitern, sodass can nicht nur für Mikrodienste und API verwendet werden kann. 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. Für APIs und Services, die häufig aufgerufen werden, verwenden Sie Lumen. Verwenden Sie für Benutzeranwendungen Laravel.


Diese Antwort stammt aus einem Blogbeitrag Ich habe geschrieben, der den Unterschied zwischen Lumen und Laravel erklärt.

38
d4nyll

Zitat aus Matt Stauffer 

Lumen hat das gleiche Fundament wie Laravel und viele der gleichen Komponenten. Aber Lumen ist für Microservices gedacht, weniger für Anwendungen, die für Benutzer relevant sind (obwohl es für alles verwendet werden kann.) Frontend-Kleinigkeiten wie Bootstrap und Elixir sowie der Authentifizierungs-Bootstrap und -Sitzungen werden nicht sofort aktiviert. Die Erweiterung und Änderung der Bootstrap-Dateien ist weniger flexibel.

Lesen Sie mehr hier

13
Ivan Dokov

Lumen Microframework ist eine leichtgewichtige Version des Laravel-Vollstapelgerüsts. Lumen verwendet die Laravel-Syntax und -Komponenten und lässt sich problemlos auf Laravel "upgraden".

Lumen ist ein spezialisierteres (und weniger ausgeprägtes) Framework, das für Microservices-Entwicklung und API-Entwicklung konzipiert wurde. Einige der Funktionen in Laravel, wie HTTP-Sitzungen, Cookies und Templating, sind nicht erforderlich, und Lumen nimmt sie weg und behält so das Wesentliche - Routing, Protokollierung, Caching, Warteschlangen, Validierung, Fehlerbehandlung und einige andere.

4
pardeep

Warum Lumen? 

Lumen ist die perfekte Lösung für den Aufbau von auf Laravel basierenden Mikrodiensten und für die Erstellung schneller APIs. Tatsächlich ist dies eines der schnellsten verfügbaren Mikro-Frameworks. Es war noch nie einfacher, erstaunlich schnelle Dienste zur Unterstützung Ihrer Laravel-Anwendungen zu schreiben. Doc

Lumen ist ein Framework zum Erstellen von APIs, das im Wesentlichen JSON-Antworten für Ihre Anforderungen bereitstellt. Das ist es.

Diese Anwendungen werden im Allgemeinen als Web-Services 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 mit anderen Paketen ausgetauscht. prüfe sie hier

Beispielszenarien, in denen wir Lumen betrachten können

  • Möglicherweise möchten Sie einige Funktionen einer Anwendung über die API für andere Entwickler öffnen
  • Ihre Anwendung muss sowohl Web- als auch Mobilanwendungen unterstützen. Dann ist es ideal, um die Daten in einer in Lumen-API verpackten Datenbank zu speichern.
  • Wenn Sie die Skalierbarkeit als wichtigen Punkt betrachten, benötigen Sie möglicherweise Lumen
0
Shobi