symfony 2.2
このソリューションは2.3以降廃止され、3.0で削除されます。ドキュメントを参照してください
$form->getData();
フォームパラメータの配列を提供します
Symfony2のブックページ162(第12章:フォーム)
[...]場合によっては、クラスなしのフォームを使用して、送信されたデータの配列を取得することもできます。これは実際にはとても簡単です:
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
}
次のように、リクエストオブジェクトを介してPOST値(この場合は「名前」)に直接アクセスすることもできます。
$this->get('request')->request->get('name');
ただし、フォームフレームワークによって変換された後にデータ(通常はオブジェクト)を返すため、ほとんどの場合、getData()メソッドを使用する方が適切です。
フォームトークンにアクセスする場合、は配列から要素を削除する$postData = $request->request->get('contact');
ため、問題の答えを使用する必要があります
getData()
symfony 2.3
2.3以降handleRequest
では、bindRequest
次の代わりに使用する必要があります。
$form->handleRequest($request);
ドキュメントを参照