private function initActionOptions() { $this->actionOptionsResolver = new OptionsResolver(); $this->actionOptionsResolver->setRequired(array('route_name')); $this->actionOptionsResolver->setDefined(array('element')); $self = $this; $this->actionOptionsResolver->setDefaults(array('route_name' => function (Options $options) use($self) { return $self->getDefaultRouteName($options); }, 'additional_parameters' => array(), 'label' => null)); $this->actionOptionsResolver->setNormalizer('additional_parameters', function (Options $options, $value) use($self) { return $self->normalizeAdditionalParameters($options, $value); }); $this->actionOptionsResolver->setAllowedTypes('element', 'string'); $this->actionOptionsResolver->setAllowedTypes('route_name', 'string'); $this->actionOptionsResolver->setAllowedTypes('additional_parameters', 'array'); $this->actionOptionsResolver->setAllowedTypes('label', array('string', 'null')); }
/** * @param EventDispatcherInterface $dispatcher */ public function __construct(EventDispatcherInterface $dispatcher) { $this->dispatcher = $dispatcher; $this->specResolver = new OptionsResolver(); $this->specResolver->setDefaults(array('on' => self::ALL, 'from' => self::ALL, 'to' => self::ALL, 'exclude_from' => array(), 'exclude_to' => array())); $this->specResolver->setAllowedTypes('on', ['string', 'array']); $this->specResolver->setAllowedTypes('from', ['string', 'array']); $this->specResolver->setAllowedTypes('to', ['string', 'array']); $this->specResolver->setAllowedTypes('exclude_from', ['string', 'array']); $this->specResolver->setAllowedTypes('exclude_to', ['string', 'array']); $toArrayNormalizer = function (Options $options, $value) { return (array) $value; }; foreach (['on', 'from', 'to', 'exclude_to', 'exclude_from'] as $value) { $this->specResolver->setNormalizer($value, $toArrayNormalizer); } }
public function setDefaultOptions(OptionsResolverInterface $resolver) { $resolver->setDefaults(array('on' => 'on', 'off' => 'off')); $resolver->setNormalizer('attr', function ($options, $value) { $value["class"] = "switch-input"; if (array_key_exists("class", $value)) { $value["class"] .= " " . $value["class"]; } return $value; }); }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolverInterface $resolver) { $optionsNormalizer = function (Options $options, $value) { $value['block_name'] = 'entry'; return $value; }; $resolver->setDefaults(['allow_add' => false, 'allow_delete' => false, 'prototype' => true, 'prototype_name' => '__name__', 'type_name' => '_type', 'options' => []]); $resolver->setRequired(['types']); $resolver->setAllowedTypes(['types' => 'array']); $resolver->setNormalizer('empty_value', $emptyValueNormalizer); }