Routing Laravel
Routing di Laravel adalah mekanisme yang menentukan bagaimana aplikasi Anda merespons permintaan HTTP. Routing memetakan URL (Uniform Resource Locator) ke controller atau closure yang sesuai, yang kemudian menangani logika aplikasi dan mengembalikan respons.
Mengapa Routing Penting?
- URL yang Bersih dan Terstruktur: Routing memungkinkan Anda untuk membuat URL yang bersih, mudah dibaca, dan SEO-friendly.
- Kontrol Permintaan: Routing memberi Anda kontrol penuh atas bagaimana aplikasi Anda merespons berbagai jenis permintaan HTTP (GET, POST, PUT, DELETE, dll.).
- Pemisahan Logika: Routing membantu memisahkan logika aplikasi dari logika presentasi.
Definisi Route
Routes didefinisikan di file routes/web.php
(untuk rute web) atau routes/api.php
(untuk rute API).
Contoh Route Sederhana
PHP
// routes/web.php
use App\Http\Controllers\UserController;
use Illuminate\Support\Facades\Route;
Route::get('/users', [UserController::class, 'index']);
- Rute ini mendefinisikan endpoint
/users
yang merespons permintaanGET
. - Permintaan diarahkan ke metode
index
dariUserController
.
Jenis-Jenis Route
Laravel mendukung berbagai jenis rute, termasuk:
GET
: Mengambil data.POST
: Mengirim data untuk diproses.PUT
: Memperbarui data yang ada.DELETE
: Menghapus data.resource
: Mendefinisikan rute untuk operasi CRUD (Create, Read, Update, Delete).
Contoh Route Resource
PHP
// routes/web.php
use App\Http\Controllers\PhotoController;
use Illuminate\Support\Facades\Route;
Route::resource('photos', PhotoController::class);
- Rute ini mendefinisikan rute untuk semua operasi CRUD pada sumber daya "photos".
Route Parameters
- Anda dapat mendefinisikan parameter di rute untuk menangkap nilai dari URL.
- Contoh:
PHP
Route::get('/users/{id}', [UserController::class, 'show']);
- Nilai
{id}
akan diteruskan ke metodeshow
dariUserController
.
Route Groups
- Route groups memungkinkan Anda untuk mengelompokkan rute dengan middleware atau awalan yang sama.
- Contoh:
PHP
Route::middleware('auth')->group(function () {
Route::get('/profile', [UserController::class, 'profile']);
Route::put('/profile', [UserController::class, 'updateProfile']);
});
- Semua rute di dalam grup akan menerapkan middleware
auth
.
Named Routes
- Named routes memungkinkan Anda untuk memberi nama pada rute, sehingga Anda dapat merujuknya di kode Anda.
- Contoh:
PHP
Route::get('/users/{id}', [UserController::class, 'show'])->name('users.show');
- Anda dapat merujuk rute ini menggunakan nama
users.show
.
Tips Routing Laravel
- Gunakan nama rute untuk memudahkan pemeliharaan kode.
- Gunakan grup rute untuk mengelompokkan rute dengan middleware atau awalan yang sama.
- Gunakan parameter rute untuk menangkap nilai dari URL.
- Pelajari dokumentasi resmi Laravel untuk mengetahui lebih lanjut tentang fitur routing yang tersedia.