Heim > Artikel > Backend-Entwicklung > Detaillierte Erläuterung der in Laravel 5.5 bereitgestellten reaktionsfähigen Schnittstelle zum Antworten auf das Beispiel „requests_php'.
Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen über die reaktionsfähige Schnittstelle ein, die in Laravel 5.5 für die Beantwortung von Anfragen bereitgestellt wird. Der im Artikel vorgestellte Laravel ist sehr detailliert und ist sehr nützlich. Das Studium oder die Arbeit eines jeden hat einen bestimmten Referenz- und Lernwert. Freunde, die es benötigen, können dem Herausgeber folgen, um Laravel zu lernen.
Vorwort
Laravel 5.5 wird auch die nächste LTS-Version (Long Term Support) sein. Das bedeutet, dass es zwei Jahre Fixes und drei Jahre Sicherheitsupdates gibt. Das Gleiche gilt für Laravel 5.1, obwohl der zweijährige Bugfix-Support dieses Jahr endet.
Laravel 5.5 fügt dem Routing einen neuen Rückgabetyp hinzu: Verantwortlich. Diese Schnittstelle ermöglicht die automatische Konvertierung von Objekten in eine Standard-HTTP-Antwortschnittstelle, wenn sie von einem Controller oder einer Schließungsroute zurückgegeben werden. Jedes Objekt, das die Responsable-Schnittstelle implementiert, muss eine Methode namens toResponse()
implementieren, die das Objekt in ein HTTP-Antwortobjekt konvertiert.
Sehen Sie sich das Beispiel an:
use Illuminate\Contracts\Support\Responsable; class ExampleObject implements Responsable { public function construct($name = null) { $this->name = $name ?? 'Teapot'; } public function status() { switch(strtolower($this->name)) { case 'teapot': return 418; default: return 200; } } public function toResponse() { return response( "Hello {$this->name}", $this->status(), ['X-Person' => $this->name] ); } }
Bei Verwendung dieses Beispielobjekts im Routing , können Sie Folgendes tun:
Route::get('/hello', function() { return new ExampleObject(request('name')); });
Im Laravel Framework kann jetzt die Route-Klasse sein vorbereitet Aktivieren Sie diesen Typ (Implementierung der Responsable-Schnittstelle), wenn Sie auf Inhalte antworten:
if ($response instanceof Responsable) { $response = $response->toResponse(); }
Wenn Sie ihn in AppHttpResponses Verwenden Sie mehrere Antworttypen, um Ihren Antwortinhalt im Bereich zu organisieren. Sie können sich auf das folgende Beispiel beziehen. Dieses Beispiel zeigt, wie Beiträge (eine Sammlung mehrerer Instanzen) unterstützt werden:
posts = $posts; } public function toResponse() { return response()->json($this->transformPosts()); } protected function transformPosts() { return $this->posts->map(function ($post) { return [ 'title' => $post->title, 'description' => $post->description, 'body' => $post->body, 'published_date' => $post->published_at->toIso8601String(), 'created' => $post->created_at->toIso8601String(), ]; }); } }
Zusammenfassung
Das Obige ist der gesamte Inhalt dieses Artikels, ich hoffe, er kann für alle hilfreich sein.Verwandte Empfehlungen:
So implementieren Sie die responsive Schnittstelle von Laravel 5.5
Laravels Verifizierungscode-Bibliothek
Detaillierte Erläuterung domänenübergreifender Lösungen in der Laravel-Entwicklung
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der in Laravel 5.5 bereitgestellten reaktionsfähigen Schnittstelle zum Antworten auf das Beispiel „requests_php'.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!