Heim  >  Artikel  >  PHP-Framework  >  Welchen Nutzen hat die Routenbenennung von Laravel?

Welchen Nutzen hat die Routenbenennung von Laravel?

青灯夜游
青灯夜游Original
2022-02-23 18:06:253841Durchsuche

In Laravel besteht die Aufgabe der Routenbenennung darin, Routen zu generieren, um die Umleitung zu erleichtern. Durch die Routenbenennung können bestimmte Routen einfach URLs oder Weiterleitungen generieren. Entwickler können mithilfe der Namensmethode eine Verknüpfung zu Routen herstellen, um den Namen einer bestimmten Route zu definieren.

Welchen Nutzen hat die Routenbenennung von Laravel?

Die Betriebsumgebung dieses Tutorials: Windows 7-System, Laravel 6-Version, Dell G3-Computer.

Laravels Routenbenennung

laravel Die Rolle der Routenbenennung: Routen generieren, um die Umleitung zu erleichtern.

Routenbenennung ermöglicht es bestimmten Routen, auf einfache Weise URLs oder Weiterleitungen zu generieren. Sie können den Namen einer bestimmten Route definieren, indem Sie sie mit der Namensmethode verknüpfen:

Route::get('user/profile', function () {
    //
})->name('profile');

Sie können auch einen Routennamen für die Methode eines Controllers angeben:

Route::get('user/profile', 'UserProfileController@show')->name('profile');

Generieren Sie eine URL, die auf eine benannte Route verweist

Sobald der Name für eine bestimmte Route zugewiesen wurde, können Sie den Namen der Route verwenden, wenn Sie eine URL generieren oder über die globale Routenfunktion umleiten:

// 生成 URL...
$url = route('profile');

// 重定向...
return redirect()->route('profile');

Wenn die benannte Route Parameter definiert, können Sie die Parameter an die Route übergeben Funktion als zweiter Parameter. Der angegebene Parameter wird automatisch an der richtigen Stelle in die URL eingefügt:

Route::get('user/{id}/profile', function ($id) {
    //
})->name('profile');
$url = route('profile', ['id' => 1]);

Überprüfen Sie die aktuelle Route

Wenn Sie feststellen möchten, ob die aktuelle Anfrage an eine bestimmte benannte Route weitergeleitet wird, können Sie on verwenden Routeninstanz benannte Methode. Sie können beispielsweise den aktuellen Routennamen in der Routing-Middleware überprüfen:

/**
 * Handle an incoming request.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \Closure  $next
 * @return mixed
 */
public function handle($request, Closure $next)
{
    if ($request->route()->named('profile')) {
        //
    }
    return $next($request);
}

Routennamen-Präfix

Mit der Namensmethode kann jedem Routennamen in der Routengruppe eine bestimmte Zeichenfolge hinzugefügt werden. Beispielsweise möchten Sie möglicherweise den Namen aller Gruppenrouten „admin“ voranstellen. Die angegebene Zeichenfolge ist genau die gleiche wie das angegebene Routennamenspräfix, daher stellen wir sicher, dass das nachgestellte Zeichen im Präfix angegeben wird:

Route::name('admin.')->group(function () {
    Route::get('users', function () {
        // 指定路由名为 "admin.users"...
    })->name('users');
});

Ressourcenroutenbenennung

Ressourcenroute

Route::resource('users', 'UsersController');

Das oben genannte Der Code entspricht In:

Route::get('/users', 'UsersController@index')->name('users.index');
Route::get('/users/{user}', 'UsersController@show')->name('users.show');
Route::get('/users/create', 'UsersController@create')->name('users.create');
Route::post('/users', 'UsersController@store')->name('users.store');
Route::get('/users/{user}/edit', 'UsersController@edit')->name('users.edit');
Route::patch('/users/{user}', 'UsersController@update')->name('users.update');
Route::delete('/users/{user}', 'UsersController@destroy')->name('users.destroy');

resource Routenbenennung

Route::resource('foo',  'ProductsController');
route('foo.index'); // http://your.website/foo
Route::resource('products',  'ProductsController',  ['names'  =>  'foo']);
route('foo.index'); // http://your.website/products
Route::resource('products',  'ProductsController',  ['names'  =>  'admin.products']);
route('admin.products.index'); // http://your.website/products

resource Routenpräfix:

Route::resource('products',  'ProductsController',  ['as'  =>  'admin']);
route('admin.products.index'); // http://your.website/products

[Verwandte Empfehlungen: Laravel-Video-Tutorial]

Das obige ist der detaillierte Inhalt vonWelchen Nutzen hat die Routenbenennung von Laravel?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Vorheriger Artikel:Unterstützt Laravel PHP8?Nächster Artikel:Unterstützt Laravel PHP8?