Melihat Daftar Route Laravel Melalui Peramban (Browser) Menggunakan Pretty Routes


Sejatinya, Laravel sendiri punya fungsi built-in untuk menampilkan daftar route yang telah dibuat. Baik itu melalui artisan, maupun menggunakan class Route. Namun, keduanya punya sedikit kekurangan: tidak bisa dilihat langsung melalui peramban (browser). Route melalui artisan hanya dapat dilihat melalui shell. Sedangkan route menggunakan class Route harus diolah terlebih dahulu agar dapat tayang di peramban.

Route::getRoutes();

Wajar saja, pada dasarnya route didesain untuk konsumsi programmer yang mengembangkan aplikasi yang sering berkutat dengan shell, dan sesekali dump sebuah variabel tanpa perlu diolah dan ditampilkan ke end-user.

$ php artisan route:list

Tapi, bagaimana jika, seandainya saja, seseorang ingin agar aplikasinya dapat menampilkan daftar route di aplikasi yang dia punya? Tak perlu tau tujuan spesifiknya, yang penting route bisa diakses melalui peramban.

Daripada repot membuat dari awal, lebih baik menggunakan library siap pakai, ialah Pretty Routes.

Visualise your routes in pretty format.

Instalasi

Instal menggunakan Composer dengan menjalankan perintah berikut pada shell.

$ composer require garygreen/pretty-routes

Kemudian tambahakan service container pada berkas config/app.php. Jika hanya ingin memuat service container pada kondisi tertentu, saran saya untuk membaca artikel Memuat Service Container di Laravel 5 pada Kondisi Tertentu.

Collective\Html\HtmlServiceProvider::class,
PrettyRoutes\ServiceProvider::class,

Langkah terakhir, publikasikan config library dengan perintah di bawah.

$ php artisan vendor:publish — provider=”PrettyRoutes\ServiceProvider”

Pada direktori config, kita akan menemukan sebuah berkas baru dengan nama pretty-routes.php. Di berkas inilah beberapa pengaturan seputar library didefinisikan.

Penggunaan

Secara bawaan, daftar route dapat diakses melalui peramban dengan URL http://localhost:8000/routes.

URL bawaan Pretty Routes dapat diubah dari berkas config/pretty-routes.php pada bagian url. Selain URL, terdapat juga pengaturan hide_methods yang mendefinisikan method apa saja yang akan disembunyikan. Pengaturan lengkap Pretty Routes dapat dilihat pada potongan script di bawah.

<?php
 
return [
 
    /**
     * The endpoint to access the routes.
     */
    'url' => 'routes',
 
    /**
     * The methods to hide.
     */
    'hide_methods' => [
        'HEAD',
    ],
 
];

Jika ingin melihat bagaimana Pretty Route bekerja, kita bisa membuka berkas vendor/garygreen/pretty-routes/src/MainMiddleware.php.

<?php

/**
 * Show pretty routes.
 *
 * @param \Illuminate\Http\Request $request
 * @param \Closure $next
 * @return \Illuminate\Http\Response
 */
public function handle($request, Closure $next)
{
    if ($request->path() == config('pretty-routes.url'))
    {
        return new Response(view('pretty-routes::routes', [
            'routes' => Route::getRoutes(),
        ]));
    }
 
    return $next($request);
}

Pada baris ke-17, dilakukan pengecekan apakah URL yang diakses sama dengan yang didefinisikan pada config Pretty Route. Apabila sama, maka akan melempar variabel ke view yang berisi daftar route. Dan kemudian data route tersebut diolah sedemikian rupa pada view dan ditampilkan secantik mungkin.

Tak Berkategori

Yugo Purwanto

Pemrogram PHP dan JavaScript yang sedang sibuk mengembangkan aplikasi Glosarium Bahasa Indonesia.

Tinggalkan Balasan