Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/287.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 如何使用Symfony formbuilder设置表单名称?_Php_Symfony_Oop_Formbuilder - Fatal编程技术网

Php 如何使用Symfony formbuilder设置表单名称?

Php 如何使用Symfony formbuilder设置表单名称?,php,symfony,oop,formbuilder,Php,Symfony,Oop,Formbuilder,我正在使用Symfony formbuilder创建表单: $options = [ 'attr' => array('class' => 'form-control',), 'data' => $data, ]; $formBuilder->add($name, $class, $options); 当我现在查看表单时,字段如下所示: <input name="form[color]" value="#c651a8"

我正在使用Symfony formbuilder创建表单:

$options =  [
     'attr'   => array('class' => 'form-control',),
     'data' => $data,
       ];

 $formBuilder->add($name, $class, $options);
当我现在查看表单时,字段如下所示:

<input name="form[color]" value="#c651a8" class="form-control">
我尝试了不同的方法,例如:

  $options =  [
           'attr'   => array('class' => 'form-control','name' => '12345',),
           'data' => $data,
           ];


但是我找不到解决方案。

如果使用
FormType
类来实现
getName()
方法:

public function getName()
{
    return null;
}
如果您通过
表单工厂
服务生成表单,请执行以下操作:

$formBuilder = $this->get('form.factory')
    ->createNamedBuilder(null);

$options =  [
    'attr'   => array('class' => 'form-control',),
    'data' => $data,
];

$formBuilder->add('12345', $class, $options);

谢谢,这很有效,我只有一个问题。我在循环
foreach($fields as$field){$formBuilder->add('12345',$class,$options);}
中使用它,问题是,我的字段现在是空的,我想是因为NULL。你有什么建议吗?或者我把函数getName()放错地方了吗?我现在将它放到我的页面库中。如果使用这个case(),则必须使用
getName()
方法扩展这个表单类。不是存储库
public function getName()
{
    return null;
}
$formBuilder = $this->get('form.factory')
    ->createNamedBuilder(null);

$options =  [
    'attr'   => array('class' => 'form-control',),
    'data' => $data,
];

$formBuilder->add('12345', $class, $options);