/** * Returns the configured options resolver used for this type. * * @return \Symfony\Component\OptionsResolver\OptionsResolverInterface The options resolver. */ public function getOptionsResolver() { if (null === $this->optionsResolver) { if (null !== $this->parent) { $this->optionsResolver = clone $this->parent->getOptionsResolver(); } else { $this->optionsResolver = new OptionsResolver(); } $this->innerType->setDefaultOptions($this->optionsResolver); $reflector = new \ReflectionMethod($this->innerType, 'setDefaultOptions'); $isOldOverwritten = $reflector->getDeclaringClass()->getName() !== 'Symfony\\Component\\Form\\AbstractType'; $reflector = new \ReflectionMethod($this->innerType, 'configureOptions'); $isNewOverwritten = $reflector->getDeclaringClass()->getName() !== 'Symfony\\Component\\Form\\AbstractType'; if ($isOldOverwritten && !$isNewOverwritten) { trigger_error('The FormTypeInterface::setDefaultOptions() method is deprecated since version 2.7 and will be removed in 3.0. Use configureOptions() instead. This method will be added to the FormTypeInterface with Symfony 3.0.', E_USER_DEPRECATED); } foreach ($this->typeExtensions as $extension) { $extension->setDefaultOptions($this->optionsResolver); $reflector = new \ReflectionMethod($extension, 'setDefaultOptions'); $isOldOverwritten = $reflector->getDeclaringClass()->getName() !== 'Symfony\\Component\\Form\\AbstractTypeExtension'; $reflector = new \ReflectionMethod($extension, 'configureOptions'); $isNewOverwritten = $reflector->getDeclaringClass()->getName() !== 'Symfony\\Component\\Form\\AbstractTypeExtension'; if ($isOldOverwritten && !$isNewOverwritten) { trigger_error('The FormTypeExtensionInterface::setDefaultOptions() method is deprecated since version 2.7 and will be removed in 3.0. Use configureOptions() instead. This method will be added to the FormTypeExtensionInterface with Symfony 3.0.', E_USER_DEPRECATED); } } } return $this->optionsResolver; }
/** * @param FormTypeInterface $type * @param OptionsResolver $optionsResolver * * @internal */ public static function configureOptions(FormTypeInterface $type, OptionsResolver $optionsResolver) { if (!method_exists('Symfony\\Component\\Form\\AbstractType', 'getBlockPrefix')) { $type->setDefaultOptions($optionsResolver); } else { $type->configureOptions($optionsResolver); } }
/** * Returns the configured options resolver used for this type. * * @return \Symfony\Component\OptionsResolver\OptionsResolverInterface The options resolver. */ public function getOptionsResolver() { if (null === $this->optionsResolver) { if (null !== $this->parent) { $this->optionsResolver = clone $this->parent->getOptionsResolver(); } else { $this->optionsResolver = new OptionsResolver(); } $this->innerType->setDefaultOptions($this->optionsResolver); foreach ($this->typeExtensions as $extension) { $extension->setDefaultOptions($this->optionsResolver); } } return $this->optionsResolver; }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $this->parentType->setDefaultOptions($resolver); $resolver->setDefaults(['cascade_validation' => true, 'csrf_protection' => false]); }