setDefaultOptions () должен быть совместим с Symfony \ Component \ Form \ FormTypeInterface :: setDefaultOptions () - PullRequest
0 голосов
/ 26 сентября 2018

Я работаю над проектом на базе Symfony 2.7.

Я добавил следующую функцию в пользовательский тип формы:

public function setDefaultOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(
      [
          'error_bubbling' => true
      ]
    );
}

... и при загрузке формы я получаю следующее исключение FatalErrorException:

Ошибка компиляции: объявление MyCompany \ AppBundle \ Form \ ContactType :: setDefaultOptions () должно быть совместимо с Symfony \ Component \ Form \ FormTypeInterface :: setDefaultOptions (Symfony \ Component \ OptionsResolver \ OptionsResolverInterface $ resolver)

1011 * Взглянув на FormTypeInterface::setDefaultOptions(), кажется, что я соблюдаю сигнатуру метода.Что я делаю неправильно?

1 Ответ

0 голосов
/ 26 сентября 2018

Вы можете либо правильно набрать $resolver, ожидается, что оно будет OptionsResolverInterface, а не OptionsResolver.

Или, что лучше, заменить setDefaultOptions(OptionsResolverInterface $resolver) на configureOptions(OptionsResolver $resolver), поскольку оно устарело в Symfony 2.7 источник

public function configureOptions(OptionsResolver $resolver)
{
    $resolver->setDefaults(
        [
            'error_bubbling' => true
        ]
    );
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...