Heim >PHP-Framework >Laravel >Laravel bringt Ihnen bei, einfach eine professionelle RestfulAPI zu schreiben

Laravel bringt Ihnen bei, einfach eine professionelle RestfulAPI zu schreiben

藏色散人
藏色散人nach vorne
2020-10-27 13:45:462715Durchsuche

zum Schreiben einer professionellen RESTFULAPI-Methode für Laravel vorgestellt. Ich hoffe, es wird den Freunden helfen, die es brauchen!

Laravel bringt Ihnen bei, wie man ganz einfach professionelle URLs schreibt Die Datenbank hat einige Dummy-Daten erhalten. Wenn diese Vorbereitungen getroffen sind, können wir den Aufbau einer Ressourcenschnittstellenfunktion in Betracht ziehen, um externe Datenunterstützung bereitzustellen.

CodierungszeitHaben Sie das Gefühl, dass sich die von Ihnen entworfene API-Schnittstelle und die Daten von der Dokumentdatenstruktur anderer großer Hersteller unterscheiden?

Es sieht nicht so professionell aus, oder nicht Standard ? Wie viele Stufen liegen wir noch hinter Dachang zurück?

Laravel bietet eine einfache und standardisierte Möglichkeit, die es uns ermöglicht, Best Practices zum Schreiben professioneller URLs zu befolgen.

Verwenden Sie beispielsweise für Ressourcen den Restful-Stil, um die URL-Routing-Adresse zu deklarieren:

Die erste Spalte ist die HTTP-Anforderungsmethode, die zweite Spalte ist die in Laravel deklarierte Routing-Regel und die dritte Spalte ist die entsprechende Controller-Methode. Die obige Ressourcenliste deckt alle Aktionen zum Hinzufügen, Löschen, Ändern und Überprüfen ab und kann als sehr umfassend bezeichnet werden. Wie kann ich die obige Controller-Methode schnell generieren? Verwenden Sie Laravel-Gerüstanweisungen, um sie in der Befehlszeile auszuführen:

php artisan make:controller EventsController --resource
Wir verwenden die Option

–resource

, die alle oben genannten Methoden im Zielcontroller generiert.

Die generierte Datei befindet sich in

app/Http/Controllers/EventsController.php

Der Initialisierungsinhalt lautet wie folgt:

Diese Methoden sind wirklich sofort verfügbar.

Müssen wir also die oben genannten Routing-Einträge immer noch einzeln manuell deklarieren? Was für ein Albtraum. Glücklicherweise hat Laravel dies für uns erledigt. Verwenden Sie einfach die

resource

-Methode der

Route

-Klasse, um Ressourcen zu registrieren:

Route::resource('events', 'EventsController');
Verwenden Sie die Ressourcen-Routing-Methode, geben Sie einfach den Routennamen und die entsprechende Controller-Methode an. Sie müssen nichts schreiben Diese Routen und Controller-Methoden sind mühsam.

Zur Vereinfachung der Anzeige rendern wir die Daten zunächst in der Ansichtsdatei resources/views/events/index.blade.php, verwenden die Standardlayoutdatei und geben den folgenden Code ein:

@extends('layouts.app')
@section('content')
    <h1>Events</h1>
@endsection

Öffnen Sie die Datei app/Http /Controllers/EventsController

und ändern Sie

index

Methode:

public function index(){
    return view('events.index');}
Wie Sie sehen können, gibt es in der obigen Methode keine Datenbankdateninteraktion. Wir stellen das Modell unten vor und rendern es in der Ansicht . Fügen Sie oben im Controller die folgende Referenz hinzu:
use App\Event;
Füllen Sie den folgenden Code innerhalb der index-Methode aus:

$events = Event::all();return view('events.index')->with('events', $events);
Durchlaufen Sie mit den oben genannten Daten einfach den Ausgabeinhalt in der Ansicht und ändern Sie die Ansichtsdatei wie folgt:

<h1>Events</h1>
        @forelse ($events as $event)         
  • {{ $event->name }}
  •     @empty        
  • No events found!
  •     @endforelse
In der Vorlagendatei Die Methode @forelse ermittelt, ob die Variable

$events mindestens ein Element zum Durchlaufen hat, und gibt andernfalls den Inhalt des Blocks @empty aus. Greifen Sie im Browser auf die Routing-Adresse zu. Der Ausgabeinhalt sieht ungefähr wie unten dargestellt aus. Da die von Faker

eingegebenen gefälschten Daten verwendet werden, sieht es so aus:

Wenn die Datenmenge zu groß ist, dauert das Laden dieser Seite wahrscheinlich lange und die Liste wird sehr lang . Daher ist Paging erforderlich. Um die Paging-Funktion hinzuzufügen, lautet die verwendete SQL-Anweisung wahrscheinlich wie folgt:

select id, name from events order by id asc limit 10 offset 0;
select id, name from events order by id asc limit 10 offset 10;

Um die Paging-Funktion im Controller zu verwenden, rufen Sie einfach die Methode

paginate

im Modell auf:

$events = Events::paginate(10);
Auf 10 Elemente pro Seite setzen. Wir benötigen eine Navigationsleiste für die vorherige Seite, die nächste Seite und die Seitenzahl in der Ansicht und müssen sie nicht manuell schreiben. Laravel erbt tatsächlich die von der Methode paginate zurückgegebene Klasse IlluminatePaginationLengthAwarePaginator. Es reicht aus, diese Zeile in die Ansicht einzufügen:

{!! $events->links() !!}
Die generierte Navigationsleiste lautet wie folgt:

Schreiben Sie sie am Ende

In diesem Artikel wird kurz die Methode zum Füllen der Laravel-Datenbank vorgestellt. Wir können sie manuell füllen,

Sie können auch eine Bibliothek eines Drittanbieters verwenden, um Dummy-Daten einzugeben, was die Effizienz erheblich verbessert. Erst wenn die Daten vorbereitet sind, können wir über Geschäftslogik und Schnittstellen-Docking sprechen. Diese Daten sind auch Grundlage der Bewerbung und daher wichtig.

Dieser Artikel ist eine Ergänzung zur im vorherigen Kapitel beschriebenen Laravel-Datenbankmigrationsfunktion. Die Datenbankmigration ist ein relativ umfangreicher Vorgang, insbesondere für Anwendungsdatenbanken, die in die Produktion gegangen sind. Wenn eine Aktualisierung der Migration erforderlich ist, müssen Sie im Voraus Übungen durchführen, um mögliche Notfälle zu bewältigen.

                                                                                                             

Das obige ist der detaillierte Inhalt vonLaravel bringt Ihnen bei, einfach eine professionelle RestfulAPI zu schreiben. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:learnku.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen