Heim > PHP-Framework > Laravel > 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
Freigeben: 2020-05-21 16:12:28
Original
207 Leute haben es durchsucht

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);
Nach dem Login kopieren

Üblicherweise verwendete Routing-Methode

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


oder direkt beim Controller anfragen

Route::post('/',  'WelcomeController@index');
Route::get('/',  'WelcomeController@index');
Route::delete('/',  'WelcomeController@index');
Nach dem Login kopieren

beliebig Anforderungsmodus-Übereinstimmung

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

Whitelist-Array-Übereinstimmungs-Übereinstimmungskombination

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

Umleitungsroute

Route::redirect('/here',  '/404',  404);
Nach dem Login kopieren

2. Parameterrouting

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


Parameterrouting im regulären Modus

Route::get('page/{id}', function ($id) {    
    return '页面ID: ' . $id;
})->where('id', '[0-9]+');
Nach dem Login kopieren
Route::get('page/{name}', function ($name) {    
    return '页面名称: ' . $name;
})->where('name', '[A-Za-z]+');
Nach dem Login kopieren
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]+']);
Nach dem Login kopieren

// Zugriffsmethode:

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


4 , Routing-Gruppierung

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

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;;     
    });
});
Nach dem Login kopieren

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;);    
    });
});
Nach dem Login kopieren

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;);     
    });
});
Nach dem Login kopieren

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;);
});
Nach dem Login kopieren

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    
    });
});
Nach dem Login kopieren

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;);
});
Nach dem Login kopieren


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;);
});
Nach dem Login kopieren

10 🎜>11. Routing-Cache löschen

$route  = Route::current();
$name   = Route::currentRouteName();
$action = Route::currentRouteAction();
Nach dem Login kopieren


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!

Verwandte Etiketten:
1
Quelle:php.cn
Erklärung dieser Website
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage