Study
Symfony

Passing Data ke Twig

Penjelasan

Data dikirim dari controller ke Twig lewat method $this->render('nama_template', [...]) — parameter kedua berupa array asosiatif, key-nya jadi nama variabel yang bisa dipakai langsung di Twig (tanpa tanda dolar).

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')]
    public function show(int $id): Response
    {
        return $this->render('produk/show.html.twig', [
            'nama' => 'Kaos CompileDaily',
            'stok' => 12,
        ]);
    }
}

Praktikum

Buat method index() yang mengirim array berisi judul ("Daftar Artikel") dan artikel (array 2-3 nama artikel) ke template artikel/index.html.twig lewat $this->render().

Editor Latihan

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

Tips

$this->render() sebenarnya cuma shortcut yang otomatis membungkus hasil rendering Twig ke dalam objek Response — kalau kamu butuh mengubah status code atau header response, tetap bisa lewat argumen kedua: $this->render(..., ..., new Response(status: 201)).