Study
CakePHP

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}").

Editor Latihan

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.