Symfony 2.2
solusi ini tidak digunakan lagi sejak 2.3 dan akan dihapus di 3.0, lihat dokumentasi
$form->getData();
memberi Anda array untuk parameter formulir
dari buku symfony2 halaman 162 (Bab 12: Formulir)
[...] terkadang, Anda mungkin hanya ingin menggunakan formulir tanpa kelas, dan mendapatkan kembali array data yang dikirimkan. Ini sebenarnya sangat mudah:
public function contactAction(Request $request) {
$defaultData = array('message' => 'Type your message here');
$form = $this->createFormBuilder($defaultData)
->add('name', 'text')
->add('email', 'email')
->add('message', 'textarea')
->getForm();
if ($request->getMethod() == 'POST') {
$form->bindRequest($request);
// data is an array with "name", "email", and "message" keys
$data = $form->getData();
}
// ... render the form
}
Anda juga dapat mengakses nilai POST (dalam hal ini "nama") secara langsung melalui objek permintaan, seperti:
$this->get('request')->request->get('name');
Namun, perlu diketahui bahwa dalam banyak kasus, menggunakan metode getData () adalah pilihan yang lebih baik, karena metode ini mengembalikan data (biasanya berupa objek) setelah diubah oleh kerangka formulir.
Saat Anda ingin mengakses token formulir, Anda harus menggunakan jawaban Bermasalah
$postData = $request->request->get('contact');
karena getData()
menghapus elemen dari array
Symfony 2.3
sejak 2.3 Anda harus menggunakan handleRequest
alih-alih bindRequest
:
$form->handleRequest($request);
lihat dokumentasi