Sprache:

Suche

Code aufräumen mit Laravel Route Model Binding

  • Teilen:
Code aufräumen mit Laravel Route Model Binding

Einführung

Laravel Route Model Binding ist eine großartige Möglichkeit, Ihre Entwicklung zu beschleunigen und Ihren Code ein wenig aufzuräumen. Laravel Route Model Binding bietet eine bequeme Möglichkeit, Klasseninstanzen in Ihre Routen zu injizieren.

Anstatt beispielsweise die ID eines Benutzers zu injizieren, können Sie die gesamte Instanz der Klasse User injizieren, die der angegebenen ID entspricht.

Grundlegendes Routing

Die meisten der Routen in Ihrer Anwendung befinden sich in /routes/web.php Datei, die geladen werden durch App\Providers\RouteServiceProvider class. Die grundlegendste Laravel-Route akzeptiert einen URI und einen Abschluss.

<?php

Route::get('/', function(){

    return 'Hello world';

});

Beispiel

Nehmen wir an, wir möchten einen Benutzer anhand seiner ID besuchen. Normalerweise haben wir die folgende Route eingerichtet, um dies zu erreichen.

<?php

Route::get('/users/{id}', function($id, App\User $user){

    $user = $user->findOrFail($id);
    dd($user->name);

});

Route Model Bindung

Mit Laravel Route Model Binding vereinfacht sich dieser Prozess bis zu einem gewissen Grad und es ist ein ziemlich einfacher Weg, um solche Dinge zu tun.

Um die Route Model-Bindung zu verwenden, müssen wir zunächst das Model innerhalb der boot()-Methode der RouteServiceProvider-Klasse registrieren.

<?php
public function boot(Router $router)
{
      parent::boot();
      $router->model('user',User::class);
}

Jetzt können wir die Benutzeranbindung innerhalb unserer /routes/web.phpDatei, um die gleichen Ergebnisse zu erzielen:

<?php

Route::get('/users/{user}', function($user){
  //we can now directly say
   dd($user->name);
});

Letzte Worte

Laravel Route Model Bindung funktioniert gut mit verschachtelten URIs, die manchmal ziemlich schwierig, mit grundlegenden Routing zu bewältigen. Probieren Sie es also selbst aus und testen Sie, ob das für Sie funktioniert. Wenn Sie irgendwelche Rückmeldungen oder Kommentare haben, schreiben Sie sie in das Kommentarfeld unten. Sie können uns auch folgen auf Twitter.

Usama Muneer

Usama Muneer

A web enthusiastic, self-motivated & detail-oriented professional Full-Stack Web Developer from Karachi, Pakistan with experience in developing applications using JavaScript, WordPress & Laravel specifically. Loves to write on different web technologies with an equally useful skill to make some sense out of it.