/** * @param string $themeClassName * @param PropertyAccessorInterface $propertyAccessor */ public function __construct($themeClassName, PropertyAccessorInterface $propertyAccessor) { $this->themeClassName = $themeClassName; $this->propertyAccessor = $propertyAccessor; $this->optionsResolver = new OptionsResolver(); $this->optionsResolver->setRequired(['name', 'slug'])->setDefined('description')->setDefault('parents', [])->setAllowedTypes('parents', 'array'); }
/** * Set up the configurations of options * passed as argument into the following methods of this class : * - getWeekDates * - getWeekMeals */ private function configureWeekMealOptions() { $this->weekMealResolver->setDefined(array('date_day', 'without_pork', 'enable_next_week', 'days_ofweek_off', 'dates_off')); $this->weekMealResolver->setAllowedTypes('date_day', \DateTimeInterface::class); $this->weekMealResolver->setDefaults(array('without_pork' => false, 'enable_next_week' => false, 'days_ofweek_off' => array(Day::WEEK_WEDNESDAY), 'dates_off' => array())); $this->weekMealResolver->setRequired(array('without_pork', 'date_day')); }
/** * ActivityRepositoryAbstract constructor. * * @inheritdoc */ public function __construct($em, \Doctrine\ORM\Mapping\ClassMetadata $class) { $this->dayListResolver = new OptionsResolver(); $this->dayListResolver->setRequired(array('date_day', 'school')); $this->configureDayListOptions($this->dayListResolver); parent::__construct($em, $class); }
protected function configureOptions(OptionsResolver $resolver) { $resolver->setRequired("type"); $resolver->setRequired("name"); $resolver->setAllowedValues('type', ['url', 'image', 'text', 'page_select', 'product_category_select', 'product_select', 'collection_select']); $resolver->setDefaults(array('type' => 'text', 'options' => 'options')); }
/** * Configure adapter options * * @param OptionsResolver $resolver * @throws \Symfony\Component\OptionsResolver\Exception\AccessException * @throws \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException */ public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired('username')->setAllowedTypes('username', ['string']); $resolver->setRequired('password')->setAllowedTypes('password', ['string']); $resolver->setRequired('roles')->setAllowedTypes('roles', ['array']); $resolver->setDefined('salt')->setAllowedTypes('salt', ['string', 'null']); }
/** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired(array('relative_path')); $resolver->setRequired(array('imagine_filter')); $resolver->setDefaults(array('class' => '', 'padding' => '', 'name' => '', 'orderable' => false, 'searchable' => false, 'title' => '', 'type' => '', 'visible' => true, 'width' => '', 'search_type' => 'like', 'filter_type' => 'text', 'filter_options' => array(), 'filter_property' => '', 'filter_search_column' => '', 'holder_url' => '', 'holder_width' => '50', 'holder_height' => '50', 'enlarge' => false)); $resolver->setAllowedTypes('class', 'string'); $resolver->setAllowedTypes('padding', 'string'); $resolver->setAllowedTypes('name', 'string'); $resolver->setAllowedTypes('orderable', 'bool'); $resolver->setAllowedTypes('searchable', 'bool'); $resolver->setAllowedTypes('title', 'string'); $resolver->setAllowedTypes('type', 'string'); $resolver->setAllowedTypes('visible', 'bool'); $resolver->setAllowedTypes('width', 'string'); $resolver->setAllowedTypes('search_type', 'string'); $resolver->setAllowedTypes('filter_type', 'string'); $resolver->setAllowedTypes('filter_options', 'array'); $resolver->setAllowedTypes('filter_property', 'string'); $resolver->setAllowedTypes('filter_search_column', 'string'); $resolver->setAllowedTypes('imagine_filter', 'string'); $resolver->setAllowedTypes('relative_path', 'string'); $resolver->setAllowedTypes('holder_url', 'string'); $resolver->setAllowedTypes('holder_width', 'string'); $resolver->setAllowedTypes('holder_height', 'string'); $resolver->setAllowedTypes('enlarge', 'bool'); $resolver->setAllowedValues('search_type', array('like', 'notLike', 'eq', 'neq', 'lt', 'lte', 'gt', 'gte', 'in', 'notIn', 'isNull', 'isNotNull')); $resolver->setAllowedValues('filter_type', array('text', 'select')); return $this; }
public function __construct(TokenRetrieveHelper $helper, array $config = []) { $this->config = $config; $this->helper = $helper; $this->optionsResolver = new OptionsResolver(); $this->optionsResolver->setRequired(['client_id', 'client_secret', 'grant_type']); $this->optionsResolver->setDefault('grant_type', $this->getGrantType()); }
/** * Instanciate the base filter * * @param AttributeValidatorHelper $attrValidatorHelper * @param ConfigurationRegistryInterface $registry * @param ReferenceDataIdResolver $idsResolver * @param array $supportedOperators */ public function __construct(AttributeValidatorHelper $attrValidatorHelper, ConfigurationRegistryInterface $registry, ReferenceDataIdResolver $idsResolver, array $supportedOperators = []) { $this->attrValidatorHelper = $attrValidatorHelper; $this->registry = $registry; $this->idsResolver = $idsResolver; $this->supportedOperators = $supportedOperators; $this->optionsResolver = new OptionsResolver(); $this->optionsResolver->setRequired(['field'])->setDefined(['locale', 'scope']); }
/** * Configure adapter options * * @param OptionsResolver $resolver * @throws \Symfony\Component\OptionsResolver\Exception\AccessException * @throws \Symfony\Component\OptionsResolver\Exception\UndefinedOptionsException */ public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired('table_name')->setAllowedTypes('table_name', ['string']); $resolver->setRequired('identity_column')->setAllowedTypes('identity_column', ['string']); $resolver->setRequired('credential_column')->setAllowedTypes('credential_column', ['string']); $resolver->setDefined('roles_column')->setAllowedTypes('roles_column', ['string', 'null']); $resolver->setDefined('salt_column')->setAllowedTypes('salt_column', ['string', 'null']); $resolver->setDefault('use_ambiguity_identity', false)->setAllowedTypes('use_ambiguity_identity', ['bool']); }
/** * @param array $params * @param ApplicationPaths $appPaths * @param ActiveTheme $theme * @param RequestStack $requestStack * @param string $env */ public function __construct(array $params, ApplicationPaths $appPaths, ActiveTheme $theme, RequestStack $requestStack, $env) { $this->params = $params; $this->appPaths = $appPaths; $this->theme = $theme; $this->request = $requestStack; $this->env = $env; $this->resolver = new OptionsResolver(); $this->resolver->setRequired('resources'); $this->resolver->setRequired('translations'); $this->resolver->setAllowedTypes('resources', ['array']); $this->resolver->setAllowedTypes('translations', ['array']); }
/** * @inheritdoc */ public function configurePayload(OptionsResolver $resolver) { $resolver->setRequired(0); $resolver->setAllowedTypes(0, 'numeric'); $resolver->setNormalizer(0, function (Options $options, $value) { if (null === ($scraper = $this->findScraper($value))) { throw new InvalidArgumentException(sprintf('Could not find scraper with id %d', $value)); } return $scraper; }); $resolver->setRequired(1); $resolver->setAllowedTypes(1, 'string'); }
public function __construct() { $this->allowedTypes = array_merge(array('driver' => array('string'), 'options' => array('array', 'null'), 'attributes' => array('array')), $this->allowedTypes); $this->allowedValues = array_merge(array('driver' => array($this->driver)), $this->allowedValues); $this->defaults = array_merge(array('driver' => $this->driver, 'options' => array(), 'attributes' => array()), $this->defaults); $this->resolver = new OptionsResolver(); $this->resolver->setRequired($this->required)->setDefaults($this->defaults); foreach ($this->allowedValues as $option => $value) { $this->resolver->setAllowedValues($option, $value); } foreach ($this->allowedTypes as $option => $value) { $this->resolver->setAllowedTypes($option, $value); } }
/** * @param array $options */ public function setOptions($options = array()) { $resolver = new OptionsResolver(); $resolver->setDefaults(array()); $resolver->setRequired('slider_id'); $resolver->setAllowedTypes('slider_id', 'string'); $resolver->setRequired('start'); $resolver->setAllowedTypes('start', 'array'); $resolver->setRequired('range_min'); $resolver->setAllowedTypes('range_min', 'numeric'); $resolver->setRequired('range_max'); $resolver->setAllowedTypes('range_max', 'numeric'); $resolver->setDefined('range_steps'); $resolver->setAllowedTypes('range_steps', 'array'); $resolver->setDefined('step'); $resolver->setAllowedTypes('step', 'numeric'); $resolver->setDefined('connect'); $resolver->setAllowedTypes('connect', 'string'); $resolver->setAllowedValues('connect', array('lower', 'upper', 'true', 'false')); $resolver->setDefault('connect', 'false'); $resolver->setDefined('margin'); $resolver->setAllowedTypes('margin', 'numeric'); $resolver->setDefined('limit'); $resolver->setAllowedTypes('margin', 'numeric'); $resolver->setDefined('orientation'); $resolver->setAllowedTypes('orientation', 'string'); $resolver->setAllowedValues('orientation', array('vertical', 'horizontal')); $resolver->setDefault('orientation', 'horizontal'); $resolver->setDefined('slider_dimension'); $resolver->setAllowedTypes('slider_dimension', 'array'); $resolver->setDefined('direction'); $resolver->setAllowedTypes('direction', 'string'); $resolver->setAllowedValues('direction', array('ltr', 'rtl')); $resolver->setDefault('direction', 'ltr'); $resolver->setDefined('animate'); $resolver->setAllowedTypes('animate', 'boolean'); $resolver->setDefault('animate', true); $resolver->setDefined('animation_duration'); $resolver->setAllowedTypes('animation_duration', 'numeric'); $resolver->setDefined('tooltips'); $resolver->setAllowedTypes('tooltips', 'array'); //events $resolver->setDefined('update_event'); $resolver->setDefined('change_event'); $resolver->setDefined('set_event'); $resolver->setDefined('slide_event'); $resolver->setDefined('start_event'); $resolver->setDefined('end_event'); $this->options = $resolver->resolve($options); }
/** * @inheritdoc */ public function configurePayload(OptionsResolver $resolver) { $resolver->setRequired(0); $resolver->setRequired(1); $resolver->setAllowedTypes(0, 'string'); $resolver->setAllowedTypes(1, 'array'); $resolver->setNormalizer(1, function (Options $options, $value) { $class = $options[0]; if (null === ($item = $this->doctrine->getRepository($class)->findOneBy($value))) { throw new InvalidArgumentException(sprintf('Could not find %s with id %d', $class, $value)); } return $item; }); }
public function configureOptions(OptionsResolver $resolver) { $resolver->setDefined(['customFormModel', 'territoryRepository', 'projectSettings']); $resolver->setRequired(['customFormModel', 'territoryRepository', 'projectSettings']); $resolver->addAllowedTypes('customFormModel', CustomFormModelInterface::class); $resolver->addAllowedTypes('projectSettings', ProjectSettings::class); }
/** * Resolves options * * @param array $options * @return array */ protected function resolveConfigurationOptions(array $configurationOptions) { $optionsResolver = new OptionsResolver(); $optionsResolver->setDefaults($this->defaultOptions); $optionsResolver->setRequired(array_keys($this->defaultOptions)); return $optionsResolver->resolve($configurationOptions); }
/** * @param array $options */ public function __construct(array $options) { $resolver = new OptionsResolver(); $resolver->setRequired(['secret', 'currency', 'min_sum'])->setDefaults(['math' => new NativeMath(), 'currency' => 'usd', 'min_sum' => 0])->setAllowedTypes('math', MathInterface::class); $options = $resolver->resolve($options); $this->options = $options; }
/** * {@inheritdoc} */ protected function configureProperties(OptionsResolver $resolver) { $resolver->setRequired('programs'); $this->configureArrayProperty('programs', $resolver); $resolver->setDefined('priority'); $this->configureIntegerProperty('priority', $resolver); }
/** * @param OptionsResolver $resolver * @throws AccessException * @throws UndefinedOptionsException * @throws MissingFamilyException * @throws \UnexpectedValueException * @throws ConstraintDefinitionException * @throws InvalidOptionsException * @throws MissingOptionsException */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(['required' => true, 'constraints' => new NotBlank()]); $resolver->setRequired(['attribute', 'parent_data']); $resolver->setNormalizer('attribute', function (Options $options, $value) { return VariantType::normalizeVariantAttribute($value); }); $resolver->setNormalizer('parent_data', function (Options $options, $value) { return VariantType::normalizeParentData($options, $value); }); $resolver->setNormalizer('choices', function (Options $options, $value) { $attribute = $options['attribute']; $families = []; /** @var array $variantFamilies */ $variantFamilies = $attribute->getOptions()['variant_families']; foreach ($variantFamilies as $familyCode) { $family = $this->familyConfigurationHandler->getFamily($familyCode); if (!$family instanceof VariantFamily) { throw new \UnexpectedValueException("Variant families in attribute options must be of type VariantFamily, '{$family->getCode()}' is not a variant"); } $families[ucfirst($family)] = $family; } return $families; }); }
/** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(array('color' => 'green', 'switch_type' => 1)); $resolver->setRequired(array('switch_type')); $resolver->setAllowedValues('color', array('green', 'red', 'purple', 'orange', 'dark')); $resolver->setAllowedValues('switch_type', array(1, 2, 3, 4, 5, 6, 7)); }
/** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired(['roles']); $resolver->setDefaults(['data_class' => $this->command, 'empty_data' => function (FormInterface $form) { return new $this->command($form->get('email')->getData(), $form->get('password')->getData(), $this->roles); }]); }
public function configureOptionsResolver(OptionsResolver $resolver) { $resolver->setRequired(array('container'))->setAllowedTypes(array('container' => 'Symfony\\Component\\DependencyInjection\\ContainerInterface')); if ($this->container) { $resolver->setDefaults(array('container' => $this->container)); } }
public function configureOptions(OptionsResolver $resolver) { $resolver->setDefaults(['label' => false, 'name' => '', 'data_class' => 'RZ\\Roadiz\\Core\\Entities\\Folder', 'attr' => ['class' => 'uk-form folder-form']]); $resolver->setRequired(['em']); $resolver->setAllowedTypes('em', 'Doctrine\\Common\\Persistence\\ObjectManager'); $resolver->setAllowedTypes('name', 'string'); }
public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired(['sonata_field_description', 'context'])->setAllowedTypes('sonata_field_description', 'Sonata\\DoctrineORMAdminBundle\\Admin\\FieldDescription')->setDefaults(['attr' => ['class' => 'select2'], 'multiple' => true, 'required' => false])->setDefault('create_callback', function (Options $options) { /** * @var \Sonata\DoctrineORMAdminBundle\Admin\FieldDescription */ $fieldDescription = $options['sonata_field_description']; $class = $fieldDescription->getTargetEntity(); return function ($name, $context) use($class) { $tag = new $class(); $tag->setName($name); $tag->setEnabled(true); if ($context) { $tag->setContext($context); } return $tag; }; })->setDefault('tags', function (Options $options) { /** * @var \Sonata\DoctrineORMAdminBundle\Admin\FieldDescription */ $fieldDescription = $options['sonata_field_description']; return $fieldDescription->getAdmin()->getModelManager()->findBy($fieldDescription->getTargetEntity(), ['enabled' => true, 'context' => $options['context']]); }); }
public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired(['roles']); $resolver->setDefaults(['csrf_protection' => false, 'data_class' => InviteUserCommand::class, 'empty_data' => function (FormInterface $form) { return new InviteUserCommand($form->get('email')->getData(), $this->roles); }]); }
function it_should_configure_options(OptionsResolver $resolver) { $resolver->setDefined('vars')->shouldBeCalled(); $resolver->setRequired(['template'])->shouldBeCalled(); $resolver->setAllowedTypes(['template' => ['string'], 'vars' => ['array']])->shouldBeCalled(); $this->configureOptions($resolver); }
/** * {@inheritdoc} */ public function setDefaultOptions(OptionsResolver $resolver) { $resolver->setRequired(['new_relic_app_name']); $resolver->setDefaults(['new_relic_license' => null, 'new_relic_transaction_name' => function (Options $options) { return sprintf('swarrot %s', $options['queue']); }]); }
/** * {@inheritdoc} */ public function initOptions() { $this->getOptionsResolver()->setDefaults(array('actions' => array())); $this->getOptionsResolver()->setAllowedTypes('actions', 'array'); $this->actionOptionsResolver->setDefaults(array('redirect_uri' => null, 'domain' => null, 'protocole' => 'http://', 'protocol' => 'http://')); $this->actionOptionsResolver->setRequired(array('uri_scheme')); $this->actionOptionsResolver->setAllowedTypes('redirect_uri', array('string', 'null')); $this->actionOptionsResolver->setAllowedTypes('uri_scheme', 'string'); $this->actionOptionsResolver->setAllowedValues('protocol', array('http://', 'https://')); $this->actionOptionsResolver->setDefaults(array('protocol' => function (Options $options, $value) { if (isset($options['protocole'])) { $value = $options['protocole']; } return $value; })); }
public function testNotRequiredIfRequiredAndDefaultValue() { $this->assertFalse($this->resolver->isRequired('foo')); $this->resolver->setRequired(array('foo')); $this->resolver->setDefaults(array('foo' => 'bar')); $this->assertFalse($this->resolver->isRequired('foo')); }
public function getModel($make, $model, array $options = []) { $resolver = new OptionsResolver(); $resolver->setDefaults(['year' => 1990, 'view' => 'basic']); $resolver->setDefined('state'); $resolver->setRequired(['state', 'view']); $resolver->setAllowedTypes('year', 'integer'); $resolver->setAllowedValues('state', ['new', 'used']); $resolver->setDefault('state', function (Options $options, $previousValue) { if ($options['year'] >= 2015) { return 'new'; } return $previousValue; }); // $resolver->isDefined('state'); $options = $resolver->resolve($options); $client = new GuzzleHttp\Client(); $queryParams = array_merge($options, ['fmt' => 'json', 'api_key' => $this->apiKey]); $query = GuzzleHttp\Psr7\build_query($queryParams); $request = new GuzzleHttp\Psr7\Request('GET', $this->apiEndpoint . $make . '/' . $model . '?' . $query); /** @var ResponseInterface $response */ $response = $client->send($request); if ($this->dispatcher) { $this->dispatcher->dispatch(ApiCallEvent::EVENT_NAME, new GenericEvent($this, ['make' => $make, 'model' => $model, 'options' => $options])); } return $this->delegatingSerializer->deserialize($response->getBody(), 'json', ['type' => 'array']); }