Setelah pada tutorial sebelumnya kita telah berhasil menginstall laravel , pada tutorial yang kedua ini kita akan belajar tentang penggunaan laravel route. Namun sebelumnya alangkah lebih baiknya jika kita mengenal apa itu routing di laravel. Seperti namanya Di Laravel, semua permintaan request Url dipetakan dengan bantuan route . Semisal kita ingin mengakses sebuah Url http://kodekreasi.com/create , dari Url tersebut didapat sebuah path /create dibelakang nama domain website tersebut . Path tersebut didapatkan dari penulisan kode pada route yang akan mengarahkan pengguna ke controller atau view sesuai path tersebut. Jadi route dapat di ibaratkan seperti alamat rumah.

Pada saat kita mendownload laravel pertama kali kita akan mendapatkan sebuah route default yang telah tersetting didalam folder laravel tersebut yang akan mengarahkan kita ke tampilan welcome ,sehingga ketika kita menjalankan laravel saat pertama kali akan didapati tampilan welcome seperti dibawah ini :

Belajar Penggunaan Laravel Route

Terus dimanakah lokasi kode route pada laravel berada ? Kode route tersebut berada didalam folder routes. Didalam folder route sendiri terdapat 4 file default yang merupakan bawaan dari laravel sendiri yaitu :

1.File api.php

File ini biasa digunakan untuk membuat routing API . Laravel telah menyediakan kemudahan bagi kita untuk mengatur route pada API yang kita buat dengan memisahkanya dengan route untuk web interface . Route pada api.php ini biasaanya secara default berada di prefix /api sehingga ketika kita akan mengakses route api yang telah kita buat kita perlu menambahkan /api setelah nama domain kita sebelum nama route yang akan kita akses.

2. File channels.php

File ini berfungsi untuk membuat routing yang sifatnya broadcast sebagai contoh seperti routing untuk keperluan notifikasi.

3. file console.php

File ini digunakan untuk membuat routing command yang berjalan di terminal. Jadi kita juga bisa membuat perintah artisan kita sendiri.

4. file web.php

file ini digunakan untuk mendefinisikan routing web interface kalian. Jadi jika kalian membuat sebuah halaman website menggunakan laravel ini file routes/web.php ini memiliki peranan yang sangat penting untuk mengatur tampilan yang akan disajikan ke user berdasarkan prefix yang mereka akses.

Memulai Menggunakan Laravel Route

Basic Route

Setelah kalian mengenal apa itu laravel route serta fungsi dan kegunaanya sekarang kita langsung memulai saja percobaan ke dalam file project laravel yang telah kita install pada tutorial sebelumnya. Bagi kalian yang belum menginstall laravel alangkah baiknya kalian mengikuti tutorial yang telah saya berikan mengenai Cara Instal Laravel Step by Step . Setelah kalian berhasil menginstall laravel setelah itu buka folder project laravel kalian menggunakan text editor favorit kalian. kemudian cari folder dengan nama routes dan buka file web.php maka akan didapati tampilan default seperti pada scribt dibawah ini :

Route::get('/', function () {
    return view('welcome');
});

Scribt diatas merupakan scribt default route pada laravel dimana setiap kita menjalankan laravel pertama kali maka akan diarahkan menuju tampilan view welcome.

Sekarang kita coba merubah scribt nya menjadi seperti dibawah ini :

Route::get('mahasiswa','MahasiswaController@index');

Kita telah mendefinisikan sebuat route dimana mahasiswa sendiri merupakan nama dari laravel route path url yang kita definisikan sedangkan MahasiswaController sendiri merupakan nama controller yang akan menangani proses logic dibalik layar dari website yang akan kita buat menggunakan framework laravel ini dan untuk index sendiri merupakan nama fungsi yang berada didalam MahasiswaController yang akan dijalankan sesuai nama routes yang telah di definisikan. Sehingga ketika user mengakses http://nama_domain/mahasiswa maka sama saja user menjalankan scribt pada fungsi index yang berada pada Controller dengan nama MahasiswaController . Namun kali ini saya belum akan membahas lebih jauh tentang controller sehingga pada pembuatan controller diatas akan saya skip dan akan saya coba bahas lebih jauh pada tutorial selanjutnya. Oh Iya get sendiri merupakan nama method yang akan kita izinkan untuk menjalankan fungsi pada route sehingga ketika ada user ingin mengakses route tersebut dengan method selain get maka akan didapati halaman 404 atau halaman tidak ditemukan.

Selain route get laravel ada banyak method lain yang dapat digunakan di laravel seperti route post laravel dan masih banyak lagi seperti berikut ini :

Route::get($uri, $callback);
Route::post($uri, $callback);
Route::put($uri, $callback);
Route::patch($uri, $callback);
Route::delete($uri, $callback);
Route::options($uri, $callback);

Kalian dapat menggunakan method-metod tersebut kedalam route yang kalian buat sesuai kebutuhan kalian. Namun dalam kondisi tertentu terkadang kita juga membutuhkan semua method tersebut didalam sebuah route ,tenang jangan panik ! laravel telah menyediakan route match yang memungkinkan kita untuk membuat sebuah routes yang dapat diakses dengan banyak method. Untuk menggunakan routes match pada laravel dapat dilakukan seperti pada scribt berikut ini :

Route::match(['get','post'],'mahasiswa','MahasiswaController@index');

Dari scribt diatas kita telah berhasil mendefinisikan sebuah route match dimana dari segi scribt sendiri tidak jauh berbeda dari scribt pada basic route sebelumnya hanya saja pada parameter yang pertama kita menambahkan sebuah array yang berisi nama-nama method yang akan kita izinkan untuk mengakses routes.

Route dengan Parameter

Terkadang saat membuat sebuah URL kita perlu mengambil sebuah parameter yang merupakan bagian dari segmen URL pada routes kita. Misalkan kita memiliki sebuah URL http://kodekreasi.com/mahasiswa/index/2 , kita akan menggunakan angka 2 pada Url sebagai parameter pada route yang kemudian nilainya akan digunakan pada cantroller maka untuk membuat routenya adalah seperti berikut ini :

Route::get('mahasiswa/{id}','MahasiswaController@index');

Dari scribt diatas nilai dari id akan berubah-ubah sesuai nilai dari parameter pada Url.

Named route

Kita juga dapat memberikan nama pada route yang telah kita buat dengan menggunakan scribt seperti berikut ini :

Route::get('mahasiswa','MahasiswaController@index')->name('siswa');

Sehingga dapat mempersingkat penulisan route ketika kita akan melakukan redirect halaman atau yang lainya.

Sekian tutorial kali ini mengenai Penggunaan laravel route . Kalian dapat membaca dokumentasi lengkapnya di sini . Untuk tutorial selanjutnya kita akan mempelajari tentang penggunaan controller pada laravel.