繁体   English   中英

将表格注入服务-Symfony中

[英]Inject form into Service - in Symfony

我想将表单(FormInterface)注入服务,就我而言,这是从“ RegisterType”构建的表单。 我知道我可以将formfactory和抽象形式分别注入,然后在服务中创建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'”

如何正确使用表达式语言将构建的表单注入到构造函数中? 问候。

我认为您要实现的目标是:

app.form.handler.register:
    class: UserBundle\Form\Handler\RegistrationFormHandler
    arguments: [@=service('form.factory').create(service('app.form.type.register'))]
    scope: request

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM