3
我正在使用一個API,作爲響應的一部分,它返回一個名爲「form」的數組。這是一個字段名稱,數據類型和值的數組。Symfony2 createFormBuilder - 動態高級搜索表單
根據當前正在使用的API端點,這些字段的數量和名稱可能會有所不同。但是表單數組的結構總是相同的。這樣就symfony作爲其工作過程如下:
- 通過表單陣列創建表單對象
- 環路和添加的數組元素作爲字段
- 陣列發送到視圖
基本上,這種形式不過是一種高級搜索形式。系統中絕對沒有與實體的鏈接。
因此,作爲Symfony2的新手,在閱讀本文檔(http://symfony.com/doc/2.0/book/forms.html#building-the-form)之後,我試圖在控制器中執行此操作創建以下功能:
/**
* Generate a form for each field passed in an array.
*
* @param array $formArray A custom array of fields do be shown in the form
* @return formView
*/
private function generateForm($formArray)
{
// Simple demo for testing
$formArray = array(
0 => array(
'name' => 'FirstName', 'type' =>'text'
),
1 => array(
'name' => 'LastName', 'type' =>'text'
)
);
$form = $this->createFormBuilder($formArray);
foreach($formArray as $field) {
$form->add($field['name'], $field['type']);
}
$form->getForm();
return $form->createView();
}
我從得到的是
Fatal error: Call to undefined method Symfony\Component\Form\FormBuilder::createView() in .... (my controller file)
奇怪的是,如果我讓添加字段和getForm()調用鏈按照該文件的例子,它的罰款。
我在這裏做錯了什麼?