Mengenal Route Laravel

Pengertian Route pada Laravel

Routing atau Route dalam laravel berfungsi untuk menghubungkan antara pengguna dengan aplikasi. Setiap request / permintaan pada Laravel akan melalui route misalkan anda mengetik alamat di url web browser kemudian anda tekan tombol enter atau tekan tombol cari maka yang dieksesu pertama kali adalah route sebelum menampilkan hasil. 

Route tersebut yang akan menentukan apa yang akan dilakukan, karna route tugas nya adalah mengatur apakah menampilkan data, mengubah data, menghapus data dan lainnya. 

Setiap route didaftarkan pada sebuah file pada project Laravel yang telah terinstal, file tersebut berada pada lokasi ‘nama_project/routes/web.php’, saya harap anda selalu mengeingat file ini karena kita akan sering menggunakannya. 

Route Default Laravel

Saat project Laravel dijalankan pertama kali dengan menjalankan perintah php artisan server  akan muncul sebuah halaman dashboard yang merupakan yang merupakan halaman default bawaan Laravel. Halaman itulah yang yang ditampilkan oleh route bawaan Laravel. Berikut adalah source dari routing yang berada pada file /routes/web.php :

Mengenal Route Laravel

Keterangan gambar diatas :

ketika kita ketik alamat http://localhost:8000 kemudian tekan enter, maka kode program yang ada pada route laravel akan dipanggil untuk memproses pada alamat tersebut.  Kode program ini berada di dalam file routes/web.php. file bawaan dari routes/web.php sudah terisi beberapa baris kode program (perhatikan gambar diatas) : 
  1. Di baris ke-tiga terdapat baris coding untuk  import Route facade. facade merupakan nama class yang ada pada laravel dan berkaitan dengan penggunaan routing. 
  2. selanjtunya pada baris ke-5 sampai dengan  ke-14 merupakan komentar yang menjelaskan isi dari file tersebut. 

HTTP Request Pada Laravel

Pada pemrograman website, biasanya terdapat dua jenis request method sering digunakan pada protocol HTTP, yaitu GET dan POST. GET request biasanya  digunakan saat kita akan membuka suatu halaman website,sedangkan POST request dapat kita digunakan saat akan mengirim data melalui form.  Facade class Route() digunakan untuk menangani request dari browser baik berupa method GET ataupun POST request. 

Selain method GET dan POST request  untuk mendapatkan dan mengirim resource (data) pada protocol HTTP , ada juga yang dinamakan PUT/PATCH untuk melakukan update data suatu kemudian DELETE digunakan untuk hapus data (resource).  untuk mengakses suatu resource pada webs dengan menggunakan method dikenal dengan istilah REST (Represenyarional State Transfer).  

Oleh sebab itulah pada facade class Route laravel tersedia juga fungsi untuk menangani request tersebut. Berikut  adalah fungsi yang dapat kita gunakan pada facade class Route: 

Route::get(),
Route: :post(), 
Route::put(),
Route: :patch(), 
Moute: :delete) 

pada gambar diatas terdapat fungsi get() (pada nomor 1) pada class Route() menerima beberapa parameter. Pada nomor 2 berisi segmen URI yang akan dicocokkan polanya. pada fungsi get() diatas  menerima garis miring (/) yang merupakan pola URI yang ingin dicocokkan. artinya fungsi get() di atas akan menangani request terhadap homepage/halaman utama. 

Pada nomor 3 merupakan parameter kedua dari fungsi get(), parameter kedua tersebut diisi dengan anonymous function atau disebut juga dengan closure. Closure merupakan fungsi yang tidak mempunyai nama seperti fungsi-fungsi PHP pada umumnya. Pada closure tersebut kita akan membuat perintah untuk menangai request yang datang. Badan fungsi pada closure diatas. Berisi perintah: 

return view(' welcome'); 

Perintah tersebut meminta agar laravel menampilkan view dengan nama bernama welcome. fungsi view() pada laravel adalah perintah untuk menampilkan suatu file view (terdapat pada folder resources/views). Laravel merupakan framework yang menggunakan konsep M-V-C, yang salah satunya huruf “V” adalah View. Fungsi view() menerima parameter berupa text yang merupakan nama file pada folder views yang akan ditampilkan. 

File view welcome bernama welcome.blade.php dan tersimpan sebagai resources/views/welcome.blade.php. kenapa ada embel-embel blade pada file php? blade adalah template engine pada laravel.

Membuat Route Halaman "About"

sampai dengan saat ini kita baru memiliki satu  buah route, yaitu route halaman utama (homepage). kita akan mencoba untuk menambahkan route halaman "about"?, langkah-langkahnya adalah sebagai berikut : 

Langkah 1:
Buka file web.php (masih ingat kan letak web.php?), kemudian  tambah route baru dengan nama 

use Illuminate\Support\Facades\Route;

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
 */

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

Route::get('about', function () {
    return 'Halaman ini digunakan untuk About';
});

Langkah 2 :
Route yang barusan kita buat akan menangani request dengan alamat url http://127.0.0.1:8000/about. jalankan perintah diatas dengan perintah php artisan serve pada cmd andam kemudian jika berhasil akan muncul seperti gambar berikut :

Mengenal Route Laravel

Named Route

Kita juga dapat memberikan alias untuk suatu route, pemberian alias berarti kita akan memberikan nama lain ketika dipanggil pada browser. pemberian alias disebut dengan Named Route.  agar lebig paham mengenai Named Route kita akan coba praktekkan pada contoh berikut :

Langkah 1 :
  Route::get('halaman-satu', function () {
    return 'ini adalah halaman satu dengan alias satu';
})->name('satu');

Route::get('halaman-dua', function () {
    return redirect()->route('satu');
});


Route untuk halaman http://127.0.0.1:8000/halaman-satu. Kita memberikan alias menjadi 'satu' (Lihat penulisan named route di atas).  Kemudian Route untuk halaman http://127.0.0.1:8000/halaman-dua. didalam closure, kita berikan perintah redirect() ke halaman yang memiliki nama 'satu'. 

Jadi, sebenarnya kita memberikan perintah : jika ada user membuka halaman  http://127.0.0.1:8000/halaman-dua, maka dialihkan ke halaman  http://127.0.0.1:8000/halaman-satu

Langkah 2 :
silahkan jalankan jalankan perintah http://127.0.0.1:8000/halaman-dua maka akan muncul hasil sebagai berikut :
Mengenal Route Laravel
Demikian pembahasan mengenai : Mengenal Route Laravel semoga bermanfaat, jika ada yang masih belum dipahami silahkan ditanyakan di kolom komentar.