2014-07-22 31 views
0

我想創建一個函數,它返回一個可以添加到表單的表單字段。 目前,我有這樣的:Symfony Return Form字段

$builder->add($name,$type,$options); 

我想類似的東西:

function getField() 
{ 
    //$name, $type, $options = blah 

    $builder = $this->createFormBuilder(); 
    $builder->add($name,$type,$options); 
    return $builder; 
} 

$field = getField(); 
$builder->add($field); 
+0

這會導致$ builder-> add($ this-> createFormBuilder() - > add($ name,$ type,$ options));'這不會起作用。你需要詳細說明 – iswinky

回答

0

您應該只創建一個FormBuilder每個表單。您的問題可以通過將FormBuilder實例傳遞到生成該字段的函數來解決:

function addField($builder) 
{ 
    //$name, $type, $options = blah 

    $builder->add($name,$type,$options); 
} 

$builder = $this->createFormBuilder(); 

addField($builder); 

這是否符合您的要求?

+0

這當然有效,我希望避免傳入'$ builder',但是因爲每個表單只能有一個,所以這聽起來不可能。 – edlouth