我创建了一个自定义的Symfony FormType,它有助于从字符串中解析日期。 (该项目可在我的Github https://github.com/ThBM/date-text-type上找到)
为了能够在其他Symfony项目中再次使用此类,我想将其包装到composer程序包中。
我尝试做与标准库相同的操作,但是运行Symfony应用程序时出现以下错误:DateTextType :: __ constuct函数的参数太少。
似乎依赖注入不起作用:当我构建表单时,DateStringParserTransform没有注入到DateTextType构造函数中。 您如何正确包装Custome Symfony组件有什么线索?
谢谢您的帮助。
答案 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。