可重用的自定义Symfony FormType

时间:2019-01-24 18:32:38

标签: php symfony

我创建了一个自定义的Symfony FormType,它有助于从字符串中解析日期。 (该项目可在我的Github https://github.com/ThBM/date-text-type上找到)

为了能够在其他Symfony项目中再次使用此类,我想将其包装到composer程序包中。

我尝试做与标准库相同的操作,但是运行Symfony应用程序时出现以下错误:DateTextType :: __ constuct函数的参数太少。

似乎依赖注入不起作用:当我构建表单时,DateStringParserTransform没有注入到DateTextType构造函数中。 您如何正确包装Custome Symfony组件有什么线索?

谢谢您的帮助。

1 个答案:

答案 0 :(得分:0)

我解决了我的问题。

DataTransformer不应在定制FormType注入。你可以只使用它的一个实例在buildForm功能。

<?php 
public function buildForm(FormBuilderInterface $builder, array $options)
{
    parent::buildForm($builder, $options);
    $builder->addModelTransformer(new DateStringParserTransform());
}

我也点击此链接,以将我的软件包构造为Symfony捆绑包。 https://symfony.com/doc/current/bundles