Heim  >  Artikel  >  PHP-Framework  >  Erfahren Sie in einem Artikel alle grundlegenden Routing-Kenntnisse des Laravel-Frameworks

Erfahren Sie in einem Artikel alle grundlegenden Routing-Kenntnisse des Laravel-Frameworks

Mini
MiniOriginal
2020-05-21 15:51:21110Durchsuche

In diesem Abschnitt wird hauptsächlich das detaillierte Routing des Laravel-Frameworks erläutert, wobei hauptsächlich die Definition von Routing, Parametern, Regeln, Zugriffscontrollern und anderen Vorgängen erläutert wird.

1. Allgemeine Routing-Aktionen

Syntax

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

Üblicherweise verwendete Routing-Methode

Route::post('/', function () {    
    return view('welcome');
});
Route::get('/', function () {    
    return view('welcome');
});
Route::delete('/', function () {    
    return view('welcome');
});


oder direkt beim Controller anfragen

Route::post('/',  'WelcomeController@index');
Route::get('/',  'WelcomeController@index');
Route::delete('/',  'WelcomeController@index');

beliebig Anforderungsmodus-Übereinstimmung

Route::any(['get', 'post'], '/', function () {
    return view('welcome');
});
Route::any(['get', 'post'], '/', 'WelcomeController@index');

Whitelist-Array-Übereinstimmungs-Übereinstimmungskombination

Route::match(['get', 'post'], '/', function () {
    return view('welcome');
});
Route::match(['get', 'post'],'/', 'WelcomeController@index');

Umleitungsroute

Route::redirect('/here',  '/404',  404);

2. Parameterrouting

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


Parameterrouting im regulären Modus

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]+');
rree


3. Routing-Alias ​​(Zugriff mit user.profile)

Route::get('page/{id}/{slug}', function ($id, $slug) {    
    return $id . ':' . $slug;
})->where(['id' => '[0-9]+', 'slug' => '[A-Za-z]+']);

// Zugriffsmethode:

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


4 , Routing-Gruppierung

<a href="{{ route(&#39;user.profile&#39;, [&#39;id&#39; => 100]) }}">

5. Routing-Gruppierung, Middleware (2 Möglichkeiten – im Allgemeinen die zweite verwenden)

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

oder

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;);    
    });
});

6. Routing-Pfad-Präfix

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;);     
    });
});

7. Routing-Subdomain-Name

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;);
});

8. Routing-Namespace

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    
    });
});

Routing-Namespace, Präfix, Gruppierung, Parameter- und Alias-Kombination

// Routenbenennung + Pfadpräfix

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


9. Auf die aktuelle Route zugreifen

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;);
});

10 🎜>11. Routing-Cache löschen

$route  = Route::current();
$name   = Route::currentRouteName();
$action = Route::currentRouteAction();


Zusammenfassung:

Durch die obige Lernzusammenfassung haben wir die Routing-Definition und Zugriffsmethoden von Laravel kennengelernt, und Routing ist für Anfänger sehr praktisch. Es ist sehr bequem zu lernen und sehr einfach zu erlernen.

Das obige ist der detaillierte Inhalt vonErfahren Sie in einem Artikel alle grundlegenden Routing-Kenntnisse des Laravel-Frameworks. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn