Maison > cadre php > Laravel > 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
Libérer: 2020-05-21 16:12:28
original
197 Les gens l'ont consulté

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);
Copier après la connexion

Communément utilisé la méthode de routage

Route::post('/', function () {    
    return view('welcome');
});
Copier après la connexion
Route::get('/', function () {    
    return view('welcome');
});
Copier après la connexion
Route::delete('/', function () {    
    return view('welcome');
});
Copier après la connexion


ou demander directement au contrôleur

Route::post('/',  'WelcomeController@index');
Route::get('/',  'WelcomeController@index');
Route::delete('/',  'WelcomeController@index');
Copier après la connexion

n'importe quel demande de correspondance de mode

Route::any(['get', 'post'], '/', function () {
    return view('welcome');
});
Copier après la connexion
Route::any(['get', 'post'], '/', 'WelcomeController@index');
Copier après la connexion

Combinaison de correspondance de tableau de liste blanche

Route::match(['get', 'post'], '/', function () {
    return view('welcome');
});
Copier après la connexion
Route::match(['get', 'post'],'/', 'WelcomeController@index');
Copier après la connexion

Route de redirection

Route::redirect('/here',  '/404',  404);
Copier après la connexion

2. Routage des paramètres

Route::get('user/{id?}', function ($id = 1) {    
    return "用户ID: " . $id;
});
Copier après la connexion


Routage des paramètres en mode régulier

Route::get('page/{id}', function ($id) {    
    return '页面ID: ' . $id;
})->where('id', '[0-9]+');
Copier après la connexion
Route::get('page/{name}', function ($name) {    
    return '页面名称: ' . $name;
})->where('name', '[A-Za-z]+');
Copier après la connexion
Route::get('page/{id}/{slug}', function ($id, $slug) {    
    return $id . ':' . $slug;
})->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);
Copier après la connexion


3. Alias ​​de routage (accessible avec user.profile)

Route::get('user/{id?}', function ($id = 1) {    
    return "用户ID: " . $id;
})->name('user.profile');
Copier après la connexion

// Méthode d'accès :

<a href="{{ route(&#39;user.profile&#39;, [&#39;id&#39; => 100]) }}">
Copier après la connexion


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;;     
    });
});
Copier après la connexion

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;);    
    });
});
Copier après la connexion

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;);     
    });
});
Copier après la connexion

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;);
});
Copier après la connexion

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    
    });
});
Copier après la connexion
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;);
});
Copier après la connexion

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;);
});
Copier après la connexion

9. Accéder à l'itinéraire actuel

$route  = Route::current();
$name   = Route::currentRouteName();
$action = Route::currentRouteAction();
Copier après la connexion
10. Vider le cache de l'itinéraire

php artisan route:cache
Copier après la connexion
11. Supprimer le cache de routage

php artisan route:clear
Copier après la connexion

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!

Étiquettes associées:
1
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal