Route Parameter
Pada Laravel, route parameter digunakan untuk menangkap variabel yang ditentukan dalam URL. Ini memungkinkan Anda untuk membuat URL yang dinamis dan menyampaikan informasi ke controller Anda.
Menyiapkan Proyek Laravel
Sebelum kita mulai, pastikan Anda memiliki proyek Laravel yang sedang berjalan. Jika belum, Anda bisa membuat proyek baru dengan perintah:
composer create-project --prefer-dist laravel/laravel namaProyek
Gantilah namaProyek
dengan nama favorit Anda.
Membuat Route dengan Parameter
Untuk mendefinisikan route parameter, kita bisa menggunakan tanda kurung kurawal {}
dalam rute yang kita buat di file routes/web.php
. Berikut adalah contoh bagaimana cara mendefinisikan route parameter:
use Illuminate\Support\Facades\Route;
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
});
Dalam contoh di atas, ketika Anda mengakses URL /user/1
, akan mengembalikan teks User ID: 1
.
Menangkap Beberapa Parameter
Anda juga dapat menangkap lebih dari satu parameter dalam URL. Contohnya:
Route::get('/post/{postId}/comment/{commentId}', function ($postId, $commentId) {
return 'Post ID: ' . $postId . ', Comment ID: ' . $commentId;
});
Akses URL /post/10/comment/5
akan mengembalikan Post ID: 10, Comment ID: 5
.
Parameter Opsional
Kadang-kadang Anda mungkin ingin membuat parameter menjadi opsional. Anda dapat melakukannya dengan menambahkan tanda tanya ?
setelah nama parameter:
Route::get('/user/{id?}', function ($id = null) {
return 'User ID: ' . $id;
});
Dengan cara ini, jika kita mengakses /user
, maka $id
akan bernilai null
, dan jika kita mengakses /user/1
, maka akan mengembalikan User ID: 1
.
Menggunakan Route Parameter di Controller
Selain menggunakan closure, Anda dapat menggunakan route parameter di controller. Contohnya:
Buatlah controller baru:
php artisan make:controller UserController
Tambahkan method di
UserController
:public function show($id) { return 'User ID: ' . $id; }
Definisikan route untuk controller tersebut di
routes/web.php
:Route::get('/user/{id}', [UserController::class, 'show']);
Validasi Route Parameter
Anda juga bisa melakukan validasi untuk route parameter menggunakan where
untuk menentukan pola:
Route::get('/user/{id}', function ($id) {
return 'User ID: ' . $id;
})->where('id', '[0-9]+'); // hanya menerima id yang berupa angka
Dengan menggunakan .where()
, route ini hanya akan menerima id yang berupa angka (0-9).
Kesimpulan
Route parameter pada Laravel sangat membantu dalam membuat aplikasi yang dinamis dan interaktif. Anda dapat menangkap informasi dari URL dan menggunakannya di dalam aplikasi Anda. Dengan contoh di atas, Anda sekarang memiliki pemahaman dasar tentang cara menggunakan route parameter di Laravel.
Referensi
Untuk informasi lebih lanjut, Anda bisa merujuk ke dokumentasi resmi Laravel.
Selamat mencoba!