Request & Input di CakePHP
Penjelasan
Objek request di CakePHP diakses lewat $this->request di dalam controller. Method getQuery('nama') dipakai untuk data query string (GET), dan getData('nama') untuk data form (POST).
Contoh Konsep
<?php
namespace App\Controller;
class PencarianController extends AppController
{
public function index()
{
$kataKunci = $this->request->getQuery('q', '');
$halaman = $this->request->getQuery('page', 1);
$this->set('pesan', "Mencari: {$kataKunci}, halaman: {$halaman}");
}
}
Praktikum
Buat action cari() yang mengambil input kategori lewat $this->request->getQuery('kategori', 'semua'), lalu memanggil $this->set('pesan', "Kategori dipilih: {$kategori}").
Ketik/edit bebas di sini untuk latihan — kode ini tidak dijalankan.
Tips
Berbeda dari getQuery()/getData() yang menerima argumen kedua sebagai nilai default, method getData() TANPA argumen sama sekali ($this->request->getData()) akan mengembalikan SEMUA data form sekaligus sebagai array — berguna kalau field-nya banyak dan mau diproses sekaligus.