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?
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?
Antworten:
Mit der neuesten Version von Lumen (5.2) konzentriert sich das Mikroframework auf zustandslose APIs.
In der Dokumentation heißt es:
Lumen 5.2 stellt eine Verschiebung beim Abnehmen von Lumen dar, um sich ausschließlich auf die Bereitstellung zustandsloser JSON-APIs zu konzentrieren. Daher 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.
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:
// $app->withFacades();
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
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.
Zitat von Matt Stauffer
Lumen hat das gleiche Fundament wie Laravel und viele der gleichen Komponenten. Lumen wurde jedoch für Microservices entwickelt, nicht so sehr für benutzerbezogene Anwendungen (obwohl es für alles verwendet werden kann). Daher werden Frontend-Feinheiten wie Bootstrap und Elixir sowie der Authentifizierungs-Bootstrap und -Sitzungen nicht sofort aktiviert. und es gibt weniger Flexibilität beim Erweitern und Ändern der Bootstrap-Dateien.
Sie können mehr lesen hier
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 und
redirect()->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.
Warum Lumen?
Lumen ist die perfekte Lösung für die Erstellung von Laravel-basierten Mikrodiensten und blitzschnellen APIs. Tatsächlich ist es 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, 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
Der Hauptunterschied zwischen Laravel und Lumen besteht darin, dass Laravel handwerkliche Befehle haben kann, die Lumen nicht hat.