Exemplo n.º 1
0
 /**
  * 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;
 }
Exemplo n.º 2
0
 /**
  * @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);
     }
 }
Exemplo n.º 3
0
 /**
  * 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;
 }
Exemplo n.º 4
0
 /**
  * {@inheritdoc}
  */
 public function setDefaultOptions(OptionsResolverInterface $resolver)
 {
     $this->parentType->setDefaultOptions($resolver);
     $resolver->setDefaults(['cascade_validation' => true, 'csrf_protection' => false]);
 }