सिम्फनी 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');
हालांकि, सलाह दी जाती है कि ज्यादातर मामलों में गेटडेटा () पद्धति का उपयोग करना एक बेहतर विकल्प है, क्योंकि यह डेटा (आमतौर पर एक वस्तु) को फॉर्म के ढांचे में तब्दील होने के बाद लौटाता है।
जब आप प्रपत्र टोकन को एक्सेस करना चाहते हैं, तो आपको समस्याग्रस्त के उत्तर का उपयोग करना होगा
$postData = $request->request->get('contact');
क्योंकि getData()
तत्व को सरणी से हटा देता है
सिम्फनी 2.3
2.3 के बाद से आप का उपयोग करना चाहिए handleRequest
के बजाय bindRequest
:
$form->handleRequest($request);
प्रलेखन देखें