In diesem Abschnitt wird hauptsächlich das detaillierte Routing des Laravel-Frameworks erläutert, wobei hauptsächlich die Definition von Routing, Parametern, Regeln, Zugriffscontrollern und anderen Vorgängen erläutert wird.
1. Allgemeine Routing-Aktionen
Syntax
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
Üblicherweise verwendete Routing-Methode
Route::post('/', function () { return view('welcome'); });
Route::get('/', function () { return view('welcome'); });
Route::delete('/', function () { return view('welcome'); });
oder direkt beim Controller anfragen
Route::post('/', 'WelcomeController@index'); Route::get('/', 'WelcomeController@index'); Route::delete('/', 'WelcomeController@index');
beliebig Anforderungsmodus-Übereinstimmung
Route::any(['get', 'post'], '/', function () { return view('welcome'); });
Route::any(['get', 'post'], '/', 'WelcomeController@index');
Whitelist-Array-Übereinstimmungs-Übereinstimmungskombination
Route::match(['get', 'post'], '/', function () { return view('welcome'); });
Route::match(['get', 'post'],'/', 'WelcomeController@index');
Umleitungsroute
Route::redirect('/here', '/404', 404);
2. Parameterrouting
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; });
Parameterrouting im regulären Modus
Route::get('page/{id}', function ($id) { return '页面ID: ' . $id; })->where('id', '[0-9]+');
Route::get('page/{name}', function ($name) { return '页面名称: ' . $name; })->where('name', '[A-Za-z]+');
3. Routing-Alias (Zugriff mit user.profile)
Route::get('page/{id}/{slug}', function ($id, $slug) { return $id . ':' . $slug; })->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);
// Zugriffsmethode:
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; })->name('user.profile');
4 , Routing-Gruppierung
<a href="{{ route('user.profile', ['id' => 100]) }}">
5. Routing-Gruppierung, Middleware (2 Möglichkeiten – im Allgemeinen die zweite verwenden)
Route::group([], function () { Route::get('hello', function () { return 'Hello'; }); Route::get('world', function () { return 'World'; }); });
oder
Route::middleware('auth:api')->group(function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
6. Routing-Pfad-Präfix
Route::group(['middleware' => 'auth:api'], function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
7. Routing-Subdomain-Name
Route::prefix('api')->group(function () { Route::get('/', function () { // 处理 /api 路由 })->name('api.index'); Route::get('users', function () { // 处理 /api/users 路由 })->name('api.users'); });
8. Routing-Namespace
Route::domain('{account}.blog.test')->group(function (){ Route::get('/', function ($account) { //TODO }); Route::get('user/{id}', function ($account, $id) { //TODO }); });
Routing-Namespace, Präfix, Gruppierung, Parameter- und Alias-Kombination
// Routenbenennung + Pfadpräfix
Route::namespace('Admin')->group(function() { // App\Http\Controllers\Admin\AdminController Route::get('/admin', 'AdminController@index'); });
9. Auf die aktuelle Route zugreifen
Route::name('user.')->prefix('user')->group(function () { Route::get('{id?}', function ($id = 1) { // 处理 /user/{id} 路由,路由命名为 user.show return route('user.show'); })->name('show'); Route::get('posts', function () { // 处理 /user/posts 路由,路由命名为 user.posts })->name('posts'); });
10 🎜>11. Routing-Cache löschen
Durch die obige Lernzusammenfassung haben wir die Routing-Definition und Zugriffsmethoden von Laravel kennengelernt, und Routing ist für Anfänger sehr praktisch. Es ist sehr bequem zu lernen und sehr einfach zu erlernen. Das obige ist der detaillierte Inhalt vonErfahren Sie in einem Artikel alle grundlegenden Routing-Kenntnisse des Laravel-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
Zusammenfassung: