Mengenal Routing Laravel

Mahir Koding – Routes merupakan bagian yang sangat penting ketika berurusan dengan aplikasi terutama yang berbasis web. Bagi kamu yang terbiasa menggunakan framework dalam mengerjakan sebuah web, pastinya tidak akan asing dengan istilah ini. Router berfungsi menangani request aplikasi kemudian mengarahkan aplikasi untuk memanggil halaman/resouce tertentu. Dalam tutorial kali ini, kami akan sharing seputar routing laravel ini dan bagaimana cara mengimplementasikannya ke dalam web yang kita bangun.

Perkenalan Routes Laravel

Dalam laravel, seluruh perintah routing akan berada di dalam sebuah file routes.php dalam folder App/Http (app/http/routes.php). Kita bisa membuka file tersebut untuk melihat routing yang telah didefinisikan sebelumnya, atau bisa juga dengan mengetikkan perintah artisan di bawah ini.

php artisan route:list

Routes Dasar

Berikut adalah contoh routes paling dasar dalam Laravel, fungsinya untuk melakukan echo/menampilkan tulisan “Hello World”. Untuk mencobanya, ketikkan syntax di bawah ini ke dalam file app/http/routes.php

Route::get('contoh', function () {
return 'Hello World';
});

Oh iya, laravel sendiri support dengan beberapa method HTTP seperti POST, GET, PUT, PATCH, DELETE. Apa perbedaannya? Akan kita bahas dalam tutorial berikutnya ya. Untuk diawal-awal, cukup pahami dulu perbedaan POST dan GET. Kalau dijelaskan secara kasar, perbedaan method POST dan GET terletak pada URL. Kalau POST, data dikirimkan tidak melalui url parameter namun melalui form, dan GET melakukan parsing data melalui url parameter. Salah satu contohnya mungkin kamu pernah melihat sebuah website yang menampilkan data dengan menggunakan parameter GET id pada urlnya. Ex : http://mahirkoding.com/detail.php?id=1 (GET).

Namun, kamu akan mempelajarinya lebih dalam mengenai method tersebut jika diimplementasikan ke laravel. GET disini digunakan untuk menampilkan, parsing atau mengirimkan data. Sedangkan POST digunakan untuk menangani sebuah form untuk menerima hasil inputan data.

Berdasarkan sample source code di atas, bisa kita lihat route “contoh” dengan parameter GET akan memparsing string “Hello World”. Berarti, kita bisa mengaksesnya dengan URL : http://localhost/laravel/public/contoh.

Berbeda lagi jika contohnya seperti ini :

Route::get('belajar', function () {
return 'Mahir Koding Tempatnya Belajar Koding!';
});

Kamu bisa mengakses tulisan “Mahir Koding Tempatnya Belajar Koding!” dengan mengakses http://localhost/laravel/public/belajar

Routes dengan Parameter

Ada saatnya kita harus menyematkan sebuah parameter ke dalam sebuah URL. Sebagai contoh kita akan mengakses user dengan ID 1 maka kita perlu membuat routes seperti ini :

Route::get('user/{id}', function ($id) {
return 'User '.$id;
});

Jika kita mengakses url http://localhost/laravel/public/user/2 maka akan menampilkan result “User 2”. Silahkan ganti angka 2 pada url untuk mencoba-coba hasil yang lain.

Lalu, bagaimana jika ada 2 parameter dalam url ? Perhatikan contoh di bawah :

Route::get('user/{nama}/{umur}', function($nama, $umur) {
return 'Nama Anda : '.$nama.' Umur : '.$umur;
});

Dan, silahkan coba akses http://localhost/laravel/public/user/budi/21 dan perhatikan hasilnya.

Mengarahkan Route ke Controller

Implementasi routes juga bisa dilakukan untuk menjalankan sebuah function di Controller. Jadi, semua proses akan dilakukan di Controller sesuai dengan kaedah MVC itu sendiri. Namun, kita akan mempelajarinya sedikit bagaimana cara mengarahkan route laravel ke controller.

Route::get('post/{id}', 'PostController@detail');

Jika kamu mengakses url http://localhost/laravel/public/post/(ID bebas) maka prosesnya akan diteruskan ke function detail yang berada pada PostController.