Close

Tutorial Lengkap Routing Laravel untuk Pemula

Tutorial Laravel 12 - Routing

Waktu membaca : 3 menit

Halo, Selamat datang di seri tutorial Laravel Laravel 12. Sebagai fondasi setiap aplikasi web modern, Perutean (Routing) adalah konsep krusial yang harus dikuasai. Di Laravel, route bertindak sebagai “pemandu” yang mengarahkan permintaan HTTP (seperti mengakses URL) ke kode yang sesuai di aplikasi kamu. Memahami route dengan benar adalah langkah pertama kamu untuk menjadi developer Laravel yang andal.

Apa Itu Route (Perutean) di Laravel ?

Secara sederhana, route Laravel adalah cara untuk mendefinisikan URL aplikasi kamu dan tindakan apa yang harus dilakukan aplikasi ketika URL tersebut diakses. Setiap route terdiri dari:

  1. Metode HTTP: Menentukan jenis permintaan (misalnya, GET, POST, PUT, DELETE).
  2. URI (Uniform Resource Identifier): Bagian dari URL setelah nama domain (misalnya, /home, /user/1).
  3. Tindakan: Fungsi callback atau metode controller yang akan dieksekusi.

Inilah jantung dari Siklus Permintaan Laravel. Ketika pengguna mengakses suatu URL, Laravel akan mencocokkan URI dan Metode HTTP-nya dengan route yang telah kamu definisikan.

Tempat Mendefinisikan Route: Struktur File Wajib

Di Laravel 12, semua definisi route terletak di direktori routes/. Secara default, kamu akan menemukan dua file utama:

File RouteTujuan UtamaMiddleware Grup DefaultPrefix URI Default
routes/web.phpMendefinisikan rute antarmuka web (halaman dengan session, CSRF, dll.).web(Kosong)
routes/api.phpMendefinisikan rute API stateless (untuk layanan pihak ketiga, SPA, atau aplikasi mobile).api/api

Kamu akan menghabiskan sebagian besar waktu di file routes/web.php.

Route Dasar dengan Callback

Cara termudah dan tercepat untuk membuat route adalah dengan menggunakan fungsi callback (Closure).

Contoh Route Sederhana (GET Request)

Kamu dapat mendefinisikan route di routes/web.php untuk menampilkan teks:

use Illuminate\Support\Facades\Route;

Route::get('/', function () {
    return 'Halo, Selamat Datang di Tutorial Laravel!';
});

Route::get('/tentang', function () {
    return view('about'); // Mengembalikan view Blade
});
  • Route::get(): Mendaftarkan route yang merespons permintaan HTTP GET.
  • /: URI yang diakses (beranda).
  • function () { … }: Fungsi yang dieksekusi ketika route ini dicocokkan.

Route dengan Parameter: Data Dinamis

Aplikasi nyata membutuhkan data dinamis. Kamu bisa mendefinisikan segmen URI yang berubah-ubah menggunakan parameter route.

1. Parameter Wajib (Required Parameters)

Route::get('/user/{id}', function (string $id) {
    return 'ID Pengguna: ' . $id;
});
  • {id}: Mendefinisikan parameter yang harus ada di URI.
  • Best Practice: Perhatikan bahwa nilai parameter (misalnya $id) secara otomatis di-inject ke fungsi callback. Kamu dapat menambahkan type-hint (misalnya string $id) untuk kejelasan kode.

2. Parameter Opsional (Optional Parameters)

Route::get('/nama/{name?}', function (string $name = 'Tamu') {
    return 'Halo, ' . $name;
});
  • {name?}: Tanda tanya (?) menunjukkan bahwa parameter ini opsional.
  • Kamu harus memberikan nilai default (misalnya ‘Tamu’) pada variabel di fungsi callback.

Route Bernama (Named Routes)

Saat aplikasi Anda tumbuh, Anda akan kesulitan mengelola URL yang di-hardcode. Route Bernama memungkinkan Anda memberikan nama unik pada route, yang memudahkan pembuatan URL, redirect, atau tautan.

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

Cara Menggunakan:

Daripada menulis return redirect(‘/profile’);, Anda bisa menggunakan helper route():

return redirect()->route('profil.pengguna');

Ini adalah best practice karena jika Anda mengubah URI dari /profile menjadi /pengaturan-profil, Anda hanya perlu mengubah definisi route di satu tempat, dan semua tautan yang menggunakan nama profil.pengguna akan diperbarui secara otomatis.

Menggunakan Controller: Pemisahan Logika (MVC)

Untuk aplikasi yang terstruktur, route tidak seharusnya memiliki logika yang panjang di callback-nya. Best practice Laravel adalah mengarahkan route ke metode di dalam Controller. Ini sejalan dengan arsitektur Model-View-Controller (MVC).

Buat Controller (di terminal):

php artisan make:controller UserController

Definisikan Route di routes/web.php:

use App\Http\Controllers\UserController;

Route::get('/user/{id}', [UserController::class, 'show']);
  • [UserController::class, ‘show’]: Ini menginstruksikan Laravel untuk memanggil metode show di dalam UserController.

Implementasi di Controller (app/Http/Controllers/UserController.php):

namespace App\Http\Controllers;

use Illuminate\Http\Request;

class UserController extends Controller
{
    public function show(string $id)
    {
        // Logika untuk mengambil dan menampilkan data pengguna
        return 'Menampilkan detail pengguna dengan ID: ' . $id;
    }
}

itulah tutorial perutean (route) yang ada di laravel, selanjutnya kita akan belajar menggunakan pengelompokan route di tutorial selanjutnya

Leave a Reply

Your email address will not be published. Required fields are marked *

Leave a comment
scroll to top