Symfony2 Form Type作为具有动态参数的服务

时间:2013-09-30 12:49:50

标签: symfony

我真的很想知道是否有办法用动态参数调用服务(例如一个字符串)。 实际上我需要这个表单类型(定义为服务),这使它更复杂。

表单类型:

class MyFormType extends AbstractType
{
    private $em;
    private $parameter;

    public function __construct(EntityManager $em, $parameter)
    {
        $this->em = $em;
        $this->parameter = $parameter;
    }

    // ...
}

服务配置

my.form_type:
    class: My\Form\Type\Class
    arguments: [ @doctrine.orm.entity_manager ]
    tags:
        - { name: form.type, alias: form_name }

然后当我需要在另一种表单类型中使用它时:

class SecondFormType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder
            ->add('custom', 'my.form_type');
        ;
    }
}

我想知道如何在第一个表单类型类中设置“parameters”属性。 如果我在控制器中,我将能够创建一些getter / setter方法,但在这里我被困在表单类型中。

我实际上并没有自己实例化表单类型,因为我还需要将它注入实体管理器,这就是我将其定义为服务的原因。

提前致谢

0 个答案:

没有答案