#Route Groups
Gruops route memungkinkan Anda untuk berbagi atribut route, seperti middleware atau name spaces, melintasi sejumlah besar route tanpa harus menetapkan atribut tersebut pada setiap route individual. Atribut bersama ditentukan dalam format array sebagai parameter pertama untuk metode ini.Route::group
Group bertingkat berupaya untuk "menggabungkan" atribut secara cerdas dengan grup induknya. Middleware dan where
ketentuannya digabungkan sementara nama, name spaces, dan awalan ditambahkan. Pembatas Namespace dan garis miring pada awalan URI secara otomatis ditambahkan jika perlu.
#Middleware
Untuk menetapkan middleware ke semua route dalam suatu group, Anda dapat menggunakan middleware
metode ini sebelum mendefinisikan group. Middleware dieksekusi dalam urutan seperti yang tercantum dalam array:
Route::middleware(['first', 'second'])->group(function () {
Route::get('/', function () {
// Uses first & second Middleware
});
Route::get('user/profile', function () {
// Uses first & second Middleware
});
});
#Namespaces
Kasus penggunaan umum lainnya untuk group route adalah menetapkan namespace PHP yang sama ke group controller menggunakan namespace
metode:
Route::namespace('Admin')->group(function () {
// Controllers Within The "AppHttpControllersAdmin" Namespace
});
Ingat, secara default, RouteServiceProvider
termasuk file route Anda dalam group namespace, memungkinkan Anda untuk mendaftar route controller tanpa menentukan awalan namespace penuh . Jadi, Anda hanya perlu menentukan bagian namespace yang muncul setelah namespace dasar .AppHttpControllers
AppHttpControllers
#Sub-Domain Routing
Sub-domain routing route juga dapat digunakan untuk menangani perutean sub-domain. Sub-domain dapat ditetapkan sebagai parameter route seperti halnya URI route, memungkinkan Anda untuk menangkap sebagian dari sub-domain untuk digunakan dalam route atau pengontrol Anda. Sub-domain dapat ditentukan dengan memanggil domain
metode sebelum mendefinisikan grup:
Route::domain('{account}.myapp.com')->group(function () {
Route::get('user/{id}', function ($account, $id) {
//
});
});
Untuk memastikan route sub-domain Anda dapat dijangkau, Anda harus mendaftarkan route sub-domain sebelum mendaftarkan route root domain. Ini akan mencegah route domain root dari menimpa route sub-domain yang memiliki jalur URI yang sama.