Study
Symfony

Route Parameter di Symfony

Penjelasan

Route bisa menerima parameter dinamis lewat kurung kurawal di path, mis. {id} — nilainya otomatis diteruskan sebagai argumen method controller dengan nama yang SAMA PERSIS. Requirement (pembatasan format, mis. hanya angka) bisa ditambahkan lewat argumen requirements di attribute Route.

Contoh Konsep

<?php

namespace App\Controller;

use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Routing\Attribute\Route;

class ProdukController extends AbstractController
{
    #[Route('/produk/{id}', name: 'produk_show', requirements: ['id' => '\d+'])]
    public function show(int $id): Response
    {
        return new Response("Menampilkan produk dengan id: {$id}");
    }
}

Praktikum

Buat controller ArtikelController dengan method show(string $slug) yang punya attribute #[Route('/artikel/{slug}', name: 'artikel_show')] dan mengembalikan Response berisi teks "Artikel: {$slug}".

Editor Latihan

Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.

Tips

Nama parameter di path ({id}) dan nama argumen method (int $id) HARUS PERSIS SAMA — Symfony mencocokkannya berdasarkan nama, bukan urutan, jadi typo di salah satu sisi akan bikin Symfony error "Controller requires a parameter".