이 섹션에서는 주로 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');
Redirect 라우팅
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]+');
Route::get('page/{id}/{slug}', function ($id, $slug) { return $id . ':' . $slug; })->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);
3.라우팅 별칭( user.profile로 접속)
Route::get('user/{id?}', function ($id = 1) { return "用户ID: " . $id; })->name('user.profile');
// 접속방법 :
<a href="{{ route('user.profile', ['id' => 100]) }}">
4. 라우팅 그룹핑
Route::group([], function () { Route::get('hello', function () { return 'Hello'; }); Route::get('world', function () { return 'World'; }); });
5. 라우팅 그룹핑, 미들웨어 (2가지 방식 - 일반용 두번째 유형)
Route::middleware('auth:api')->group(function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
또는
Route::group(['middleware' => 'auth:api'], function () { Route::get('dashboard', function () { return view('dashboard'); }); Route::get('account', function () { return view('account'); }); });
6. 라우팅 경로 접두사
Route::prefix('api')->group(function () { Route::get('/', function () { // 处理 /api 路由 })->name('api.index'); Route::get('users', function () { // 处理 /api/users 路由 })->name('api.users'); });
7. 라우팅 하위 도메인 이름
Route::domain('{account}.blog.test')->group(function (){ Route::get('/', function ($account) { //TODO }); Route::get('user/{id}', function ($account, $id) { //TODO }); });
8. 라우팅 네임스페이스
Route::namespace('Admin')->group(function() { // App\Http\Controllers\Admin\AdminController Route::get('/admin', 'AdminController@index'); });
경로 네임스페이스, 접두사 , 그룹, 매개변수, 별칭 조합
//경로 이름 지정 + 경로 접두사
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. 현재 경로에 액세스
$route = Route::current(); $name = Route::currentRouteName(); $action = Route::currentRouteAction();
10. 라우팅 캐시 지우기
php artisan route:cache
11. 라우팅 캐시 삭제
php artisan route:clear
요약:
위의 학습 요약을 통해 Laravel의 경로 정의, 액세스 방법을 배웠습니다. 라우팅은 초보자에게 매우 편리하고 배우기 쉽습니다.
위 내용은 하나의 기사에서 Laravel 프레임워크의 모든 기본 라우팅 지식을 알아보세요.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!