0

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

为了能够在其他 Symfony 项目中再次使用这个类,我想将它包装到一个 composer 包中。

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

似乎依赖注入不起作用:当我构建表单时,DateStringParserTransform 没有注入到 DateTextType 构造函数中。您对如何正确打包 Custome Symfony 组件有任何指导吗?

谢谢您的帮助。

4

1 回答 1

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

于 2019-01-29T12:04:55.340 回答