我如何在symfony形式的builForm函数中传递额外的变量

时间:2012-08-06 04:46:37

标签: php forms symfony

这是我的代码

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

        ;
    }

有没有办法可以访问buildForm

中的$ task变量

1 个答案:

答案 0 :(得分:3)

一个解决方案:

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);
}

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