Давно уже заметил, что в компоненте Form интерфейс OptionsResolverInterface отмечен как устаревший. Но даже в
официальной документации он используется при создании класса формы:
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array(
'data_class' => 'AppBundle\Entity\Task',
));
}
Есть ли обновлённый аналог на замену OptionsResolverInterface? Или иначе как задавать дефолтные значения правильным образом?
В описании интерфейса Symfony\Component\OptionsResolver\OptionsResolverInterface указано:
@deprecated Deprecated since Symfony 2.6, to be removed in Symfony 3.0.
Use {@link OptionsResolver} instead.
Класс OptionsResolver - это класс, реализующий тот самый интерфейс OptionsResolverInterface. Но если поставить его использование в методе setDefaultOptions, то он не пройдёт проверку типа аргумента.
Получается, пока (в версии до 3.0) нужно продолжать использовать устаревший OptionsResolverInterface?