【发布时间】:2016-02-25 17:22:05
【问题描述】:
我想将一个表单(FormInterface)注入到服务中,在我的例子中,它是一个从“RegisterType”构建的表单。我知道我可以分别注入formfactory和abstract form,然后在服务中创建forminterface,但是在服务注入中一次完成会好得多:
# registration
app.form.type.register:
class: UserBundle\Form\Type\RegisterType
tags:
- { name: form.type, alias: app_user_register }
app.form.handler.register:
class: UserBundle\Form\Handler\RegistrationFormHandler
arguments: [@=service('form.factory').create('@app.form.type.register')]
scope: request
以及 RegistrationFormHandler 服务 - 构造函数:
public function __construct(FormInterface $form)
{
$this->form = $form;
}
所以我第一次尝试在“参数”中使用 Symfony 表达式语言,但我收到了错误消息:
“无法加载类型'@app.form.type.register'”
如何正确使用expression language 将内置表单注入到构造函数中?问候。
【问题讨论】:
标签: php forms symfony dependency-injection expression