このセクションでは、Laravel フレームワークの詳細なルーティングを主に説明し、主にルーティング、パラメーター、ルール、アクセス コントローラー、その他の操作の定義について説明します。
1. 一般的なルーティングアクション
文法
Route::get($uri, $callback); Route::post($uri, $callback); Route::put($uri, $callback); Route::patch($uri, $callback); Route::delete($uri, $callback); Route::options($uri, $callback);
一般的なルーティングメソッド
Route::post('/', function () { return view('welcome'); });
Route::get('/', function () { return view('welcome'); });
またはコントローラーに直接リクエスト
Route::delete('/', function () { return view('welcome'); });
任意のリクエストメソッドが一致します
Route::post('/', 'WelcomeController@index'); Route::get('/', 'WelcomeController@index'); Route::delete('/', 'WelcomeController@index');
Route::any(['get', 'post'], '/', function () { return view('welcome'); });
ホワイトリスト配列マッチング一致組み合わせ
Route::any(['get', 'post'], '/', 'WelcomeController@index');
Route::match(['get', 'post'], '/', function () { return view('welcome'); });
リダイレクトルーティング
Route::match(['get', 'post'],'/', 'WelcomeController@index');
2番目、パラメータルーティング
Route::redirect('/here', '/404', 404);
通常モードパラメータ
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; });
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. user.profile でアクセス)
Route::get('page/{id}/{slug}', function ($id, $slug) { return $id . ':' . $slug; })->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);
// アクセス方法:
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; })->name('user.profile');
4. ルーティンググループ化
<a href="{{ route('user.profile', ['id' => 100]) }}">
5. ルーティンググループ化、ミドルウェア (2 つの方法 - 汎用 2 番目のタイプ)
Route::group([], function () { Route::get('hello', function () { return 'Hello'; }); Route::get('world', function () { return 'World'; }); });
または
Route::middleware('auth:api')->group(function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
6. ルーティングパスプレフィックス
Route::group(['middleware' => 'auth:api'], function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
7. ルーティングサブドメイン名
Route::prefix('api')->group(function () { Route::get('/', function () { // 处理 /api 路由 })->name('api.index'); Route::get('users', function () { // 处理 /api/users 路由 })->name('api.users'); });
8.ルーティング名前空間
Route::domain('{account}.blog.test')->group(function (){ Route::get('/', function ($account) { //TODO }); Route::get('user/{id}', function ($account, $id) { //TODO }); });
ルート名前空間、プレフィックス、グループ、パラメータ、エイリアスの組み合わせ
//ルート名 + パスプレフィックス
Route::namespace('Admin')->group(function() { // App\Http\Controllers\Admin\AdminController Route::get('/admin', 'AdminController@index'); });
9. 現在のルートにアクセスします
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ルーティングキャッシュをクリアします
$route = Route::current(); $name = Route::currentRouteName(); $action = Route::currentRouteAction();
11. ルーティングキャッシュを削除する
php artisan route:cache
上記の学習の概要, Laravelのルート定義、アクセス方法、ルーティングは初心者にとって非常に便利で、簡単に学ぶことができます。
以上がLaravel フレームワークの基本的なルーティング知識をすべて 1 つの記事で学びますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。