Wed Dec 2019 2 years ago

Membuat Route Groups Laravel (middleware, namespaces,sub-domain routing)

#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 .AppHttpControllersAppHttpControllers

 

#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.

tutorial laravel laravel belajar laravel middleware laravel route groups larevel