Czytałem dokumentację w języku laravel 5.1. Nie rozumiem, jak działa grupa tras w skali larwalnej i jaka jest różnica między następującymi grupami tras.Różnica między grupą tras pośrednich a obszarami nazw w grupie języków w wersji 5.1 5.1?
Grupy Route & nazwane Trasy
Jeśli używasz grup tras, można określić jako słowa kluczowego w tablicy atrybutów grupy trasy, co pozwala na ustawienie wspólną nazwą trasa prefiks dla wszystkich tras w obrębie grupy :
Route::group(['as' => 'admin::'], function() {
Route::get('dashboard', ['as' => 'dashboard', function() {
// Route named "admin::dashboard"
}]);
});
Middleware
Aby przypisać middleware do wszystkich tras w obrębie grupy, może używać klucza warstwy pośredniej w tablicy atrybutów grup. Middleware będą realizowane w kolejności zdefiniować tę tablicę:
Route::group(['middleware' => 'auth'], function() {
Route::get('/', function() {
// Uses Auth Middleware
});
Route::get('user/profile', function() {
// Uses Auth Middleware
});
});
Przestrzenie nazw
Innym częstym use-case dla grup trasa jest przypisanie tego samego PHP nazw do grupy kontrolerów. Można użyć parametru przestrzeni nazw w tablicy atrybutów grupy, aby określić obszar nazw dla wszystkich sterowników w grupie:
Route::group(['namespace' => 'Admin'], function()
{
// Controllers Within The "App\Http\Controllers\Admin" Namespace
Route::group(['namespace' => 'User'], function()
{
// Controllers Within The "App\Http\Controllers\Admin\User" Namespace
});
});
Sub-Domain Routing
grupy trasa może być również używany do trasy wieloznacznym pod- domeny. Subdomeny mogą mieć przypisane parametry trasy, podobnie jak identyfikatory URI trasy, pozwalające na przechwycenie części subdomen do wykorzystania na trasie lub kontrolerze. Subdomena może być określona za pomocą klucza domeny w tablicy atrybutów grupę:
Route::group(['domain' => '{account}.myapp.com'], function() {
Route::get('user/{id}', function ($account, $id) {
//
});
});
trasy prefiksów
atrybut tablica grupy prefiks można stosować poprzedzający każdą trasę w grupie z daną URI. Na przykład, może chcesz poprzedzić wszystkie URI trasy w obrębie grupy z admin:
Route::group(['prefix' => 'admin'], function() {
Route::get('users', function() {
// Matches The "/admin/users" URL
});
});
Można również użyć parametru prefiksu określić wspólne parametry dla zgrupowanych trasach:
Route::group(['prefix' => 'accounts/{account_id}'], function() {
Route::get('detail', function ($account_id) {
// Matches The accounts/{account_id}/detail URL
});
});
Ref: http://laravel.com/docs/5.1/routing
dziękuję za dobre wyjaśnienie.i spróbuje tego za pomocą jednego przykładowego projektu. – vision
jak zezwolić na dostęp do strony admin tylko administratorowi? .suppose, jeśli mamy wielu użytkowników, takich jak administrator, menedżer i zwykły użytkownik, – vision
@tester To jest, kiedy chcesz użyć atrybutu middleware. – Jeemusu