Laravel - Routing: A Beginner's Guide

Hai teman-teman yang sedang belajar Laravel! Hari ini, kita akan mengemban perjalanan menarik melalui dunia routing Laravel. Sebagai guru komputer yang ramah di lingkungan sekitar Anda, saya akan memandu Anda melalui konsep fundamental ini, memastikan Anda memahami setiap langkah. Jadi, ambillah secangkir kopi (atau teh, jika itu hal yang Anda sukai), dan mari kita mulai!

Laravel - Routing

Apa Itu Routing?

Sebelum kita memulai, mari kita pahami apa sebenarnya routing itu. Bayangkan Anda berada di sebuah perpustakaan besar (internet), dan Anda ingin menemukan buku tertentu (halaman web). Petugas perpustakaan (router) membantu Anda menemukan buku yang tepat yang Anda cari. Dalam pengembangan web, routing seperti petugas perpustakaan ini, mengarahkan permintaan web ke bagian yang tepat dalam aplikasi Anda.

Routing Dasar

Mari kita mulai dari dasar. Dalam Laravel, routing diatur di dalam file routes/web.php. Ini adalah tempat kita memberitahu aplikasi bagaimana untuk merespon berbagai permintaan URL.

Route Sederhana

Ini adalah bentuk paling sederhana dari route:

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 seharusnya dikirim kembali ke browser.

Ketika Anda mengunjungi halaman utama website Anda, Anda akan melihat "Hello, World!" ditampilkan.

Route ke View

Biasanya, daripada hanya mengembalikan teks, kita ingin mengembalikan seluruh halaman HTML. Laravel membuat ini mudah:

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

Route ini akan mengembalikan view welcome ketika seseorang mengunjungi /welcome. Views adalah template HTML yang disimpan di direktori resources/views.

Route dengan Controller

Sebagai aplikasi Anda tumbuh, Anda akan ingin menggunakan controller untuk mengatur kode Anda secara lebih baik:

Route::get('/users', 'UserController@index');

Route ini mengatakan ke Laravel untuk memanggil metode index pada UserController ketika seseorang mengunjungi /users.

Parameter Route

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;
});

Route 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 opsional. Kita juga dapat menangani ini:

Route::get('/user/{name?}', function ($name = 'John') {
return 'Hello, '.$name;
});

Route ini akan bekerja untuk keduanya /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]+');

Route ini hanya akan cocok jika id terdiri dari satu atau lebih digit.

Route Bertama

Route bertama memungkinkan Anda mengacu ke route dengan nama instead dari URL mereka. Ini sangat berguna saat Anda perlu menggenerate URL atau redirect dalam aplikasi Anda.

Mendefinisikan Route Bertama

Route::get('/user/profile', function () {
//
})->name('profile');

Menggunakan Route Bertama

Setelah route dinamai, Anda dapat generate URL atau redirect ke route seperti ini:

// Mengenerate URL...
$url = route('profile');

// Mengenerate redirect...
return redirect()->route('profile');

Ini sangat membantu karena jika Anda pernah ingin mengubah URL halaman profil, Anda hanya perlu mengubahnya di satu tempat (definisi route), dan semua referensi ke route dinamai secara otomatis akan menggunakan URL baru.

Grup Route

Sekarang, saat aplikasi Anda tumbuh, Anda mungkin menemukan bahwa Anda menerapkan middleware atau prefix yang sama ke grup route. Laravel memungkinkan Anda untuk mengelompokkan route ini bersamaan:

Route::middleware(['auth'])->group(function () {
Route::get('/dashboard', function () {
// Memerlukan autentikasi...
});

Route::get('/account', function () {
// Memerlukan autentikasi...
});
});

Ini menerapkan middleware auth ke keduanya route /dashboard dan /account.

Metode Route

Laravel mendukung routing untuk semua verb HTTP standar. Berikut adalah tabel rujukan 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 beberapa verb HTTP dengan route tunggal:

Route::match(['get', 'post'], '/', function () {
//
});

Route::any('/', function () {
//
});

Dan itu saja! Anda telah mengambil langkah pertama Anda ke dalam dunia routing Laravel. Ingat, latihan membuat sempurna, jadi jangan takut untuk mencoba route yang berbeda dan lihat apa yang terjadi.

Sebelum saya tutup, ini adalah sedikit lelucon routing untuk Anda: Mengapa pengembang itu bangkrut? Karena dia menggunakan semua cache-nya! ?

Selamat coding, dan semoga rute Anda selalu membawa Anda ke tempat yang Anda inginkan!

Credits: Image by storyset