我真的很想知道是否有办法用动态参数调用服务(例如一个字符串)。 实际上我需要这个表单类型(定义为服务),这使它更复杂。
表单类型:
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方法,但在这里我被困在表单类型中。
我实际上并没有自己实例化表单类型,因为我还需要将它注入实体管理器,这就是我将其定义为服务的原因。
提前致谢