Study
Symfony

Request & Input di Symfony

Penjelasan

Objek Request bisa di-inject langsung ke method controller lewat type-hint — Symfony otomatis menyediakan instance request yang sedang berjalan. Data query string diakses lewat $request->query->get('nama'), dan data form (POST) lewat $request->request->get('nama').

Contoh Konsep

<?php

use Symfony\Component\HttpFoundation\Request;

class PencarianController extends AbstractController
{
    #[Route('/cari', name: 'cari')]
    public function index(Request $request): Response
    {
        $kataKunci = $request->query->get('q', '');
        $halaman = $request->query->get('page', 1);

        return new Response("Mencari: {$kataKunci}, halaman: {$halaman}");
    }
}

Praktikum

Buat method cari(Request $request) yang mengambil input kategori lewat $request->query->get('kategori', 'semua') dan mengembalikan Response berisi teks "Kategori dipilih: {$kategori}".

Editor Latihan

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

Tips

Symfony memisahkan sumber data request jadi beberapa "bag" terpisah: query (GET), request (POST/PUT form data), dan files (upload) — kesalahan umum pemula adalah memakai ->request->get() untuk data GET, padahal seharusnya ->query->get().