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

Welchen Nutzen hat die Routenbenennung von Laravel?

青灯夜游
Freigeben: 2022-02-23 18:06:25
Original
3932 Leute haben es durchsucht

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');
Nach dem Login kopieren

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

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

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');
Nach dem Login kopieren

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]);
Nach dem Login kopieren

Ü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);
}
Nach dem Login kopieren

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');
});
Nach dem Login kopieren

Ressourcenroutenbenennung

Ressourcenroute

Route::resource('users', 'UsersController');
Nach dem Login kopieren

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');
Nach dem Login kopieren

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
Nach dem Login kopieren

resource Routenpräfix:

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

[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!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
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
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage