Route dengan Parameter di Laravel

Budi Setiawan
3 min readOct 8, 2024

--

Kita akan membahas hal yang sangat penting tapi sering kali dianggap remeh: Route dengan Parameter. Ya, kita semua tahu bahwa routing adalah jantung dari aplikasi Laravel kita. Tanpa routing, kita ibarat ikan tanpa air (atau mungkin ikan yang terombang-ambing di daratan, tidak ada yang diuntungkan!).

Jadi, mari kita gali lebih dalam tentang parameter dalam routing Laravel. Yuk, kita mulai dengan parameter wajib.

Parameter Wajib

Bayangkan kamu membangun sebuah aplikasi yang menjual pizza (siapa yang tidak suka pizza, ya?). Orang-orang ingin memesan pizza mereka dengan cara yang spesifik, seperti menentukan nama pizza, ukuran, dan topping. Namun, drama akan terjadi jika kita tidak menjadikan nama pizza sebagai parameter yang wajib.

Mari kita lihat contoh kode Laravel yang mudah diingat ini:

Route::get('/pizza/{name}', function ($name) {
return "Pizza yang kamu pesan: $name!";
});

Nah, di sini {name} adalah parameter wajib. Jika seorang pelanggan dengan percaya diri mengunjungi /pizza/pepperoni, mereka akan mendapatkan balasan penuh kebahagiaan: "Pizza yang kamu pesan: pepperoni!". Namun, jika mereka mencoba mengunjungi /pizza/, maka Laravel akan memberikan mereka pesan error yang mengingatkan bahwa mereka harus menyertakan parameter yang wajib, yang artinya… "Kamu lupa menyebutkan nama pizza, cuy!"

Parameter Opsional

Sekarang, mari kita lanjut ke parameter opsional. Ini adalah bagian yang menarik! Parameter opsional meluncurkan kebebasan bak bintang pop yang baru saja melakukan konser di stadion. Dalam konteks pizza kita, mungkin pelanggan tidak hanya ingin menceritakan nama pizzanya, tetapi juga ukuran. Mari kita buat ukuran ini menjadi opsional.

Contoh kodenya?

Route::get('/pizza/{name}/{size?}', function ($name, $size = 'Medium') {
return "Pizza yang kamu pesan: $name, Ukurannya: $size!";
});

Dalam contoh ini, {size} adalah parameter opsional yang artinya si pelanggan dapat memilih ukuran yang mereka inginkan. Jika mereka berkunjung ke /pizza/pepperoni, maka mereka akan mendapatkan balasan "Pizza yang kamu pesan: pepperoni, Ukurannya: Medium!". Namun, jika mereka datang ke /pizza/pepperoni/Large, mereka akan menerima balasan "Pizza yang kamu pesan: pepperoni, Ukurannya: Large!"

Tip: Jika kamu ragu tentang ukuran pizza yang dipesan oleh pelanggan, cukup katakan pada mereka bahwa semua ukuran pizza adalah ‘baik-baik saja’.

Regular Expression Constraints pada Parameter

Kita ingin memastikan kualitas sambil melepaskan kreativitas. Jika pelanggan menginginkan pizza dengan topping spesifik yang tidak biasa, mungkin kita harus memfilter topping tersebut.

Misalkan kita ingin memastikan ukuran pizza hanya bisa ‘Small’, ‘Medium’, atau ‘Large’. Mari kita tetap ketat, seperti pelatih fitness!

Route::get('/pizza/{name}/{size?}', function ($name, $size = 'Medium') {
return "Pizza yang kamu pesan: $name, Ukurannya: $size!";
})->where('size', 'small|medium|large');

Di sini, kita menggunakan regular expression untuk memastikan bahwa ukuran pizza hanya bisa diisi dengan ‘small’, ‘medium’, atau ‘large’. Jika ada yang mencoba mengunjungi /pizza/pepperoni/extralarge, tanpa ampun! Laravel akan memberikan peringatan seperti seorang guru matematika yang memberikan nilai buruk.

Sekarang kita telah memahami tiga jenis parameter dalam routing Laravel parameter wajib, parameter opsional, dan regular expression constraints. Seperti pizza dengan banyak topping, setiap jenis parameter memiliki rasa dan keunikannya sendiri.

Ingat, routing yang baik tidak hanya membuat aplikasi kamu berjalan dengan lancar, tetapi juga menjadikan hidupmu lebih mudah.

Sudah selesai baca artikelnya? Bagus! Tapi tunggu dulu… tidak lengkap kalau tidak up-grade skill anda! Yuk, cek kelas online saya, biar anda bisa bilang, “Laravel? Gampang banget!” 😄:
- Bangun Aplikasi Laravel Modern Menggunakan React InertiaJS

--

--