0

请看示例:

/** @var FormBuilderInterface $builder */

$builder->add('foo', new MyFormType());
$builder->add('bar', new MyFormType());
$builder->add('baz', new MyFormType());

我需要从MyFormType实例内部获取当前的字段名称(我的意思是字段名称:foobar以及baz上面的示例)。我怎样才能做到这一点?选择什么方法以及如何获取其中的字段名称?

更一般地说,我需要调用一些带有字段名称的外部函数作为每个具有特定类型的表单元素的参数,所以我决定从一个FormType类内部进行,它看起来像很好的封装。

4

1 回答 1

1

据我所知,您无法获取字段名称,但您可以获取父级。从 MyFormType buildForm 方法内部:

$parent = $builder->getParent();

如果我正确理解您的问题,我认为最好的方法是在您的 MyFormType 中添加一个接受字符串的构造函数:

$builder->add('foo', new MyFormType('foo'));
于 2012-11-01T16:03:31.660 回答