我有一个看起来像这样的symfony表单,我需要将相同的选项传递给每个字段。
label
设置为true
,因为我使用的elaotranslationformbundle不是全局的,仅适用于某些表单。 setDefaultOptions
方法中执行此操作。如何避免以下重复代码?
$defaultOptions = array(
'attr' => array('class' => 'form-control'),
'label' => true,
'translation_domain' => (
$options['professional']?
'prospect_form_librarian' :
'prospect_form_user'
)
);
$builder
->add('name', null, $defaultOptions + array('some_other_option' => 42))
->add('city', null, $defaultOptions)
->add('contactEmail', 'email', $defaultOptions)
->add('zipCode', null, $defaultOptions)
;
我希望代码看起来像这样:
$defaultOptions = array(
'attr' => array('class' => 'form-control'),
'label' => true,
'translation_domain' => (
$options['professional']?
'prospect_form_librarian' :
'prospect_form_user'
)
);
$builder->someMethodCallThatWouldSolveMyProblem($defaultOptions)
$builder
->add('name', null, array('some_other_option' => 42))
->add('city')
->add('contactEmail', 'email', $defaultOptions)
->add('zipCode')
;