请看示例:
/** @var FormBuilderInterface $builder */
$builder->add('foo', new MyFormType());
$builder->add('bar', new MyFormType());
$builder->add('baz', new MyFormType());
我需要从MyFormType
实例中获取当前的字段名称(我的意思是字段名称:foo
,bar
和baz
来自上面的示例。我怎样才能做到这一点?选择什么方法以及如何在其中获取字段名称?
更一般地说,我需要调用一些带有字段名称的外部函数作为每个具有特定类型的表单元素的参数,所以我决定从FormType
类中执行它,它看起来像是一个很好的封装。 / p>
答案 0 :(得分:1)
你不能像我所知的那样得到字段名称,但你可以得到父母。 从MyFormType buildForm方法内部:
$parent = $builder->getParent();
如果我理解你的问题是正确的,我认为最好的方法是在你的MyFormType中添加一个接受字符串的构造函数:
$builder->add('foo', new MyFormType('foo'));