Php 如何在symfony form builForm函数中传递额外变量

Php 如何在symfony form builForm函数中传递额外变量,php,forms,symfony,Php,Forms,Symfony,这是我的密码 public function buildForm(FormBuilder $builder, array $options , $task ) { $builder ->add('genTasks','text',array('label'=>$task->getName())) ; } 是否有任何方法可以访问buildForm中的$task变量一个解决方案: public functi

这是我的密码

public function buildForm(FormBuilder $builder, array $options , $task )
    {
        $builder
            ->add('genTasks','text',array('label'=>$task->getName()))

        ;
    }
是否有任何方法可以访问buildForm中的$task变量一个解决方案:

public function buildForm(FormBuilder $builder, array $options)
{
    $task = $options['task'];

    // If you want...
    if(is_null($task)) throw new \LogicException('Task option is required.');

    $builder
        ->add('genTasks', 'text', array('label' => $task->getName()))
    ;
}

public function getDefaultOptions(array $options)
{
    return $options + array('task' => null);
}

并在创建表单时将任务对象作为选项传递。

也许我遗漏了什么,但是$task不是传递到函数buildForm(您的第三个参数)中了吗?所以,你可以访问它,对吗?我试过了,它会出错。它说builform应该和symfony表单类中所写的匹配。所以我不能传递那个函数