Heim >Backend-Entwicklung >PHP-Tutorial >Erstellen Sie eine React -App mit einem Laravel Rastful Back End: Teil 1, Laravel 9 API
Laravel und React sind zwei beliebte Webentwicklungstechnologien, die zum Aufbau moderner Webanwendungen verwendet werden. Laravel ist prominent ein serverseitiges PHP-Framework, während React eine clientseitige JavaScript-Bibliothek ist. Dieses Tutorial dient sowohl als Einführung in Laravel als auch in React und kombiniert sie zum Erstellen einer modernen Webanwendung. Der Client sendet Anfragen an diese Endpunkte, und der Server gibt eine Antwort zurück. Der Server ist jedoch nicht besorgt darüber, wie der Client die Ansicht macht, was perfekt zum Trennung des Bedenkensprinzips entspricht. Mit dieser Architektur können Entwickler robuste Anwendungen für das Web und auch für verschiedene Geräte erstellen. Das vordere Ende umfasst Komponenten, die in React geschrieben wurden. Wir werden eine einfallsreiche Produktlistenanwendung erstellen. Der erste Teil des Tutorials konzentriert sich mehr auf die Laravel-Konzepte und das Back-End. Lassen Sie uns loslegen. Es verfügt über eine ausdrucksstarke Syntax, die die Konvention gegenüber dem Konfigurationsparadigma begünstigt. Laravel verfügt über alle Funktionen, die Sie benötigen, um mit einem Projekt direkt zu beginnen. Aber persönlich mag ich Laravel, weil es die Entwicklung mit PHP zu einer völlig anderen Erfahrung und einem völlig anderen Workflow verwandelt. React hilft Ihnen, Ihre Sicht in Komponenten zu unterteilen, in denen jede Komponente einen Teil der Benutzeroberfläche der Anwendung beschreibt. Der Komponentenansatz hat den zusätzlichen Vorteil der Wiederverwendbarkeit und Modularität der Komponenten. Nicht jedes Unternehmen gibt dem Entwickler jedoch die Freiheit, eine Technologie seiner Wahl und aus guten Gründen zu nutzen. Die Verwendung eines JavaScript -Stacks für ein ganzes Projekt ist die aktuelle Norm, aber es hindert Sie nichts daran, zwei verschiedene Technologien für die Serverseite und die Client -Seite auszuwählen. Ziemlich gut. Obwohl Laravel die Unterstützung für Vue.js dokumentiert hat, was ein weiterer JavaScript-Framework ist, werden wir React für das Front-End verwenden, da es beliebter ist. Wenn Sie zuvor Erfahrung in React oder Laravel haben, können Sie das Beste aus diesem Tutorial herausholen.
Wenn Sie jedoch bei beiden Frameworks neu sind, machen Sie sich keine Sorgen. Das Tutorial ist aus Sicht eines Anfängers geschrieben, und Sie sollten in der Lage sein, ohne große Probleme aufzuholen. Sie finden den Quellcode für das Tutorial bei GitHub. Dies liegt daran, dass Laravel auf PHP basiert und Komponist verwendet, um alle Abhängigkeiten zu verwalten. Stellen Sie bei der Installation von Composer auf Ihrem Computer sicher, dass Sie die Option zum Hinzufügen der Pfadumgebungsvariablen auswählen, damit der Komponist global zugänglich ist.
Wenn alles gut läuft, sollten Sie in der Lage sein, Ihre Anwendung auf einem Entwicklungsserver bei ProductsController zu bedienen.
Routen/api.php
mit dem neuen Import und Routen. Dies ist ein Beispiel für die implizite Bindung von Laravel. Laravel versucht mit dem Modellinstanzname Produkt $ product <pre class="brush:php;toolbar:false">composer create-project laravel/laravel example-app<br></pre> mit dem URI -Segmentnamen <code> {Produkt} <p> zu entsprechen. Wenn eine Übereinstimmung gefunden wird, wird eine Instanz des Produktmodells in die Controller -Aktionen injiziert. Wenn die Datenbank kein Produkt hat, gibt sie einen 404 -Fehler zurück. Das Endergebnis ist das gleiche wie zuvor, jedoch mit weniger Code. Stellen Sie sicher, dass Sie den <code> Akzeptieren: Anwendung/JSON
aktiviert. Wenn Sie möchten, dass der Server stattdessen eine JSON-Antwort zurückgibt, müssen Sie das Standardverhalten für Ausnahmebereichungen ändern. Laravel verfügt über eine Handlerklasse, die sich der Ausnahmebehandlung unter App/Ausnahmen/Handler.php befindet. Die Klasse hat in erster Linie zwei Methoden: report ()
und render () <pre class="brush:php;toolbar:false"><?php<br><br>namespace App\Http\Controllers;<br><br>use Illuminate\Http\Request;<br>use App\Product;<br><br>class ProductsController extends Controller<br>{<br><br> public function index()<br> {<br> return Product::all();<br> }<br><br> public function show(Product $product)<br> {<br> return $product;<br> }<br><br> public function store(Request $request)<br> {<br> $product = Product::create($request->all());<br><br> return response()->json($product, 201);<br> }<br><br> public function update(Request $request, Product $product)<br> {<br> $product->update($request->all());<br><br> return response()->json($product, 200);<br> }<br><br> public function delete(Product $product)<br> {<br> $product->delete();<br><br> return response()->json(null, 204);<br> }<br><br>}<br></pre>. Die Methode <code> Bericht <strong> ist nützlich für die Berichterstattung und Protokollierung von Ausnahmeereignissen, während die Render -Methode verwendet wird, um eine Antwort zurückzugeben, wenn eine Ausnahme auftritt. Aktualisieren Sie die Render -Methode, um eine JSON -Antwort zurückzugeben: </strong><pre class="brush:php;toolbar:false">composer create-project laravel/laravel example-app<br></pre> <p> Laravel ermöglicht es uns außerdem, die eingehenden HTTP -Anforderungen anhand einer Reihe von Validierungsregeln zu validieren und eine JSON -Antwort automatisch zurückzugeben, wenn die Validierung fehlgeschlagen ist. Die Logik für die Validierung wird in den Controller platziert. Das Objekt <code>IlluminateHttpRequest
bietet eine Validierungsmethode, mit der wir die Validierungsregeln definieren können. Fügen wir der Store -Methode in app/http/controller/productsController.php ein paar Validierungsüberprüfungen hinzu. In der API fehlen jedoch grundlegende Funktionen wie Authentifizierung und Einschränkung des Zugriffs auf nicht autorisierte Benutzer. Laravel hat eine optimale Unterstützung für die Authentifizierung, und es ist relativ einfach, eine API zu erstellen. Ich ermutige Sie, die Authentifizierungs-API als Übung zu implementieren. Schauen Sie sich den zweiten Beitrag in dieser Serie hier an: Das obige ist der detaillierte Inhalt vonErstellen Sie eine React -App mit einem Laravel Rastful Back End: Teil 1, Laravel 9 API. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!