Laravel - Pelan Rute: Panduan untuk Pemula
Hai sana, para pengembang Laravel yang bersemangat! Hari ini, kita akan mengemban sebuah perjalanan yang menarik melalui dunia pelan rute Laravel. Sebagai guru komputer tetangga yang ramah, saya akan memandu Anda melalui konsep fundamental ini, memastikan Anda mengerti setiap langkah. Jadi, ambil secangkir kopi (atau teh, jika itu yang Anda sukai), dan mari kita masuk ke dalam!
Apa Itu Pelan Rute?
Sebelum kita mulai, mari kita pahami apa sebenarnya pelan rute itu. Bayangkan Anda berada di sebuah perpustakaan besar (internet), dan Anda ingin menemukan buku tertentu (halaman web). Petugas perpustakaan (router) membantu Anda menemukan buku tepat yang Anda cari. Dalam pengembangan web, pelan rute seperti petugas perpustakaan ini, mengarahkan permintaan web ke bagian yang tepat dalam aplikasi Anda.
Pelan Rute Dasar
Mari kita mulai dari dasar. Dalam Laravel, pelan rute diatur dalam file routes/web.php
. Ini adalah tempat kita memberitahu aplikasi bagaimana merespon permintaan URL yang berbeda.
Rute Sederhana
Ini adalah bentuk paling sederhana dari rute:
Route::get('/', function () {
return 'Hello, World!';
});
mari kitauraikan ini:
-
Route::get()
mengatakan ke Laravel untuk merespon permintaan GET. - Parameter pertama
'/'
adalah path URL (dalam hal ini, halaman utama). - Parameter kedua adalah fungsi yang mengembalikan apa yang harus dikirimkan ke browser.
Ketika Anda mengunjungi halaman utama situs web Anda, Anda akan melihat "Hello, World!" ditampilkan.
Rute ke View
Biasanya, daripada hanya mengembalikan teks, kita ingin mengembalikan seluruh halaman HTML. Laravel membuat ini mudah:
Route::get('/welcome', function () {
return view('welcome');
});
Rute ini akan mengembalikan view welcome
ketika seseorang mengunjungi /welcome
. Views adalah templat HTML yang disimpan di direktori resources/views
.
Rute dengan Controller
Sekali aplikasi Anda tumbuh, Anda akan ingin menggunakan controller untuk mengatur kode Anda lebih baik:
Route::get('/users', 'UserController@index');
Rute ini mengatakan ke Laravel untuk memanggil metode index
di UserController
ketika seseorang mengunjungi /users
.
Parameter Rute
Sekarang, mari kita membuat hal ini lebih menarik. Apa bila kita ingin menangani segment dinamis dalam URL kita?
Parameter Dasar
Route::get('/user/{id}', function ($id) {
return 'User '.$id;
});
Rute ini akan cocok dengan URL seperti /user/1
, /user/2
, dll. {id}
dalam URL menjadi variabel yang dikirim ke fungsi.
Parameter Opsional
kadang-kadang, parameter mungkin saja opsional. Kita juga bisa menangani ini:
Route::get('/user/{name?}', function ($name = 'John') {
return 'Hello, '.$name;
});
Rute ini akan bekerja baik untuk /user
dan /user/Jane
. Jika tidak ada nama yang diberikan, ia default ke 'John'.
Batasan Parameter
Kita juga dapat menambahkan batasan ke parameter kita menggunakan ekspresi regular:
Route::get('/user/{id}', function ($id) {
return 'User '.$id;
})->where('id', '[0-9]+');
Rute ini hanya akan cocok jika id
terdiri dari satu atau lebih digit.
Rute Bername
Rute bername memungkinkan Anda mengacu ke rute dengan nama, bukan URL mereka. Ini sangat berguna saat Anda perlu menghasilkan URL atau pengalihan dalam aplikasi Anda.
Mendefinisikan Rute Bername
Route::get('/user/profile', function () {
//
})->name('profile');
Menggunakan Rute Bername
Setelah rute dinamai, Anda dapat menghasilkan URL atau pengalihan untuk rute seperti ini:
// Menghasilkan URL...
$url = route('profile');
// Menghasilkan pengalihan...
return redirect()->route('profile');
Ini sangat membantu karena jika Anda pernah ingin mengubah URL halaman profil, Anda hanya perlu mengubahnya di satu tempat (definisi rute), dan semua referensi ke rute bername secara otomatis akan menggunakan URL baru.
Grup Rute
Sekali aplikasi Anda tumbuh, Anda mungkin menemukan diri Anda mengapply middleware atau prefiks yang sama ke grup rute. Laravel memungkinkan Anda untuk menggrupkan rute ini bersamaan:
Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
// Memerlukan autentikasi...
});
Route::get('/account', function () {
// Memerlukan autentikasi...
});
});
Ini menerapkan middleware auth
ke kedua rute /dashboard
dan /account
.
Metode Rute
Laravel mendukung routing untuk semua verb HTTP standar. Berikut adalah tabel referensi cepat:
HTTP Verb | Route Method |
---|---|
GET | Route::get() |
POST | Route::post() |
PUT | Route::put() |
PATCH | Route::patch() |
DELETE | Route::delete() |
OPTIONS | Route::options() |
Anda bahkan dapat merespon ke beberapa verb HTTP dengan rute tunggal:
Route::match(['get', 'post'], '/', function () {
//
});
Route::any('/', function () {
//
});
Dan itu saja! Anda telah mengambil langkah pertama ke dalam dunia pelan rute Laravel. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba rute yang berbeda dan lihat apa yang terjadi.
Sebelum saya tutup, ini adalah一个小小的 routing joke untuk Anda: Mengapa pengembang itu bangkrut? Karena dia menghabiskan semua cache-nya! ?
Selamat coding, dan semoga rute Anda selalu membawa Anda ke tempat yang Anda inginkan!
Credits: Image by storyset