Closed
Description
Symfony version(s) affected: 4.2.11
How to reproduce
Have type defined like this:
class MyDateAndTimeType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('time', TimeType::class, $options);
$builder->addModelTransformer(new MyDateAndTimeToDateTimeTransformer());
}
public function getBlockPrefix()
{
return 'data_and_time';
}
}
You get this error when creating the form:
Cannot use object of type Closure as array
at vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/Type/TimeType.php:80
The problem is passing options to $builder->add('time', TimeType::class, $options)
which carries:
"empty_data" => Closure(FormInterface $form) {#2763 ▼
class: "Symfony\Component\Form\Extension\Core\Type\FormType"
this: FormType {#2569 …}
parameters: {▶}
file: "vendor/symfony/symfony/src/Symfony/Component/Form/Extension/Core/Type/FormType.php"
line: "140 to 142"
}
This used to work in 4.1
Additional context
Suspected changeset #29182.