Maison  >  Article  >  cadre php  >  Apprenez toutes les connaissances de base en matière de routage du framework Laravel dans un seul article

Apprenez toutes les connaissances de base en matière de routage du framework Laravel dans un seul article

Mini
Minioriginal
2020-05-21 15:51:21165parcourir

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(&#39;user.profile&#39;, [&#39;id&#39; => 100]) }}">


4 , groupement de routage

Route::group([], function () {     
    Route::get(&#39;hello&#39;, function () {         
        return &#39;Hello&#39;;     
    });     
    Route::get(&#39;world&#39;, function () {         
        return &#39;World&#39;;     
    });
});

5. Groupement de routage, middleware (2 façons - utiliser généralement la seconde)

Route::middleware(&#39;auth:api&#39;)->group(function () {    
    Route::get(&#39;dashboard&#39;, function () {        
        return view(&#39;dashboard&#39;);    
    });    
    Route::get(&#39;account&#39;, function () {        
        return view(&#39;account&#39;);    
    });
});

ou

Route::group([&#39;middleware&#39; => &#39;auth:api&#39;], function () {     
    Route::get(&#39;dashboard&#39;, function () {         
        return view(&#39;dashboard&#39;);     
    });     
    Route::get(&#39;account&#39;, function () {         
        return view(&#39;account&#39;);     
    });
});

6. Préfixe du chemin de routage

Route::prefix(&#39;api&#39;)->group(function () {    
    Route::get(&#39;/&#39;, function () {        
    // 处理 /api 路由    
    })->name(&#39;api.index&#39;);   
     
    Route::get(&#39;users&#39;, function () {        
    // 处理 /api/users 路由    
    })->name(&#39;api.users&#39;);
});

7. Nom du sous-domaine de routage

🎜>

Route::domain(&#39;{account}.blog.test&#39;)->group(function (){    
    Route::get(&#39;/&#39;, function ($account) {        
        //TODO    
    });    

    Route::get(&#39;user/{id}&#39;, function ($account, $id) {        
        //TODO    
    });
});
8. Espace de noms de routage

Route::namespace(&#39;Admin&#39;)->group(function() {     
    // App\Http\Controllers\Admin\AdminController     
    Route::get(&#39;/admin&#39;, &#39;AdminController@index&#39;);
});

Espace de noms de routage, préfixe, regroupement, combinaison de paramètres et d'alias

// Dénomination de l'itinéraire + préfixe du chemin

Route::name(&#39;user.&#39;)->prefix(&#39;user&#39;)->group(function () {    
    Route::get(&#39;{id?}&#39;, function ($id = 1) {        
        // 处理 /user/{id} 路由,路由命名为 user.show        
        return route(&#39;user.show&#39;);    
    })->name(&#39;show&#39;);  
      
    Route::get(&#39;posts&#39;, function () {        
        // 处理 /user/posts 路由,路由命名为 user.posts    
    })->name(&#39;posts&#39;);
});

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é :

Grâce au résumé d'apprentissage ci-dessus, nous avons appris la définition de routage et les méthodes d'accès de Laravel, et le routage est très pratique pour les novices. Il est très pratique d'apprendre et très facile à apprendre.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn