Cette section explique principalement le routage détaillé du framework Laravel, expliquant principalement la définition du routage, des paramètres, des règles, des contrôleurs d'accès et d'autres opérations.
1. Actions de routage courantes
Syntaxe
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
Communément utilisé la méthode de routage
Route::post('/', function () { return view('welcome'); });
Route::get('/', function () { return view('welcome'); });
Route::delete('/', function () { return view('welcome'); });
ou demander directement au contrôleur
Route::post('/', 'WelcomeController@index'); Route::get('/', 'WelcomeController@index'); Route::delete('/', 'WelcomeController@index');
n'importe quel demande de correspondance de mode
Route::any(['get', 'post'], '/', function () { return view('welcome'); });
Route::any(['get', 'post'], '/', 'WelcomeController@index');
Combinaison de correspondance de tableau de liste blanche
Route::match(['get', 'post'], '/', function () { return view('welcome'); });
Route::match(['get', 'post'],'/', 'WelcomeController@index');
Route de redirection
Route::redirect('/here', '/404', 404);
2. Routage des paramètres
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; });
Routage des paramètres en mode régulier
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]+');
Route::get('page/{id}/{slug}', function ($id, $slug) { return $id . ':' . $slug; })->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);
3. Alias de routage (accessible avec user.profile)
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; })->name('user.profile');
// Méthode d'accès :
<a href="{{ route('user.profile', ['id' => 100]) }}">
4 , groupement de routage
Route::group([], function () { Route::get('hello', function () { return 'Hello'; }); Route::get('world', function () { return 'World'; }); });
5. Groupement de routage, middleware (2 façons - utiliser généralement la seconde)
Route::middleware('auth:api')->group(function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
ou
Route::group(['middleware' => 'auth:api'], function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
6. Préfixe du chemin de routage
Route::prefix('api')->group(function () { Route::get('/', function () { // 处理 /api 路由 })->name('api.index'); Route::get('users', function () { // 处理 /api/users 路由 })->name('api.users'); });
7. Nom du sous-domaine de routage
🎜>Route::domain('{account}.blog.test')->group(function (){
Route::get('/', function ($account) {
//TODO
});
Route::get('user/{id}', function ($account, $id) {
//TODO
});
});
8. Espace de noms de routage
Route::namespace('Admin')->group(function() {
// App\Http\Controllers\Admin\AdminController
Route::get('/admin', 'AdminController@index');
});
// Dénomination de l'itinéraire + préfixe du chemin
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');
});
9. Accéder à l'itinéraire actuel
$route = Route::current();
$name = Route::currentRouteName();
$action = Route::currentRouteAction();
10. Vider le cache de l'itinéraire
php artisan route:cache
11. Supprimer le cache de routage
php artisan route:clear
Résumé :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!