Passing Data ke View
Penjelasan
Data dikirim dari controller ke view lewat parameter kedua fungsi view(), berupa array asosiatif, atau lebih ringkas memakai helper compact() yang otomatis mengambil nilai variabel berdasarkan namanya.
Contoh Konsep
<?php
namespace App\Http\Controllers;
class ProdukController extends Controller
{
public function show($id)
{
$nama = 'Kaos CompileDaily';
$stok = 12;
// Cara 1: array asosiatif manual
return view('produk', ['nama' => $nama, 'stok' => $stok]);
// Cara 2: compact(), lebih ringkas
return view('produk', compact('nama', 'stok'));
}
}
Praktikum
Di method index() sebuah controller, buat variabel $judul = "Daftar Artikel" dan $artikel = ['Belajar Laravel', 'Belajar Blade']. Kirim keduanya ke view artikel.index memakai compact().
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Nama key di compact('nama', 'stok') HARUS PERSIS SAMA dengan nama variabel PHP-nya — kalau ada typo (mis. variabelnya $stok tapi ditulis compact('stock')), Laravel akan error "Undefined variable" saat view dirender, bukan saat kode ditulis.