我真的很想知道是否有办法使用动态参数(例如字符串)调用服务?
实际上,我需要将它用于表单类型(定义为服务),这使它变得更复杂一些。
表格类型:
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');
;
}
}
我想知道如何在第一个表单类型类中设置“参数”属性。如果我在控制器中,我将能够创建一些 getter/setter 方法,但在这里我被困在表单类型中。
实际上我自己并没有实例化表单类型,因为我还需要将它注入实体管理器,这就是我将它定义为服务的原因。