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().
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)).