Многоразовый пользовательский Symfony FormType - PullRequest
0 голосов
/ 24 января 2019

Я создал пользовательский Symfony FormType, который помогает анализировать дату из строки. (Проект доступен на моем Github https://github.com/ThBM/date-text-type)

Чтобы снова использовать этот класс в других проектах Symfony, я хотел бы обернуть его в пакет composer.

Я пытался сделать то же самое, что и стандартная библиотека, но у меня возникает следующая ошибка при запуске приложения Symfony: слишком мало аргументов для функции DateTextType :: __ constuct.

Кажется, что внедрение зависимостей не работает: DateStringParserTransform не внедряется в конструктор DateTextType, когда я создаю свою форму. Есть ли у вас какие-либо рекомендации о том, как правильно упаковать компонент Custome Symfony?

Спасибо за вашу помощь.

1 Ответ

0 голосов
/ 29 января 2019

Я решил свою проблему.

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.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...