protected function configureProperties(OptionsResolver $resolver) { $resolver->setDefined('logfile')->setAllowedTypes('logfile', 'string'); $resolver->setDefined('logfile_maxbytes'); $this->configureByteProperty('logfile_maxbytes', $resolver); $resolver->setDefined('logfile_backups'); $this->configureIntegerProperty('logfile_backups', $resolver); $resolver->setDefined('loglevel')->setAllowedTypes('loglevel', 'string')->setAllowedValues('loglevel', ['critical', 'error', 'warn', 'info', 'debug', 'trace', 'blather']); $resolver->setDefined('pidfile')->setAllowedTypes('pidfile', 'string'); // TODO: octal vs. decimal value $resolver->setDefined('umask'); $this->configureIntegerProperty('umask', $resolver); $resolver->setDefined('nodaemon'); $this->configureBooleanProperty('nodaemon', $resolver); $resolver->setDefined('minfds'); $this->configureIntegerProperty('minfds', $resolver); $resolver->setDefined('minprocs'); $this->configureIntegerProperty('minprocs', $resolver); $resolver->setDefined('nocleanup'); $this->configureBooleanProperty('nocleanup', $resolver); $resolver->setDefined('childlogdir')->setAllowedTypes('childlogdir', 'string'); $resolver->setDefined('user')->setAllowedTypes('user', 'string'); $resolver->setDefined('directory')->setAllowedTypes('directory', 'string'); $resolver->setDefined('strip_ansi'); $this->configureBooleanProperty('strip_ansi', $resolver); $this->configureEnvironmentProperty($resolver); $resolver->setDefined('identifier')->setAllowedTypes('identifier', 'string'); }
/** * {@inheritdoc} */ protected function configureProperties(OptionsResolver $resolver) { $resolver->setDefined('supervisor.rpcinterface_factory')->setAllowedTypes('supervisor.rpcinterface_factory', 'string'); // Note: undocumented, based on examples $resolver->setDefined('retries'); $this->configureIntegerProperty('retries', $resolver); }
/** * 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')); }
public function __construct(array $defaultParameters = array()) { $this->parametersResolver = new SymfonyResolver(); $this->parametersResolver->setDefaults(array_merge(array('currentPage' => 0, 'itemsPerPage' => 10), $defaultParameters))->setAllowedTypes('currentPage', 'int')->setAllowedTypes('itemsPerPage', 'int'); $this->filtersResolver = new SymfonyResolver(); $this->filtersResolver->setDefined(array('operator', 'value', 'sort'))->setDefaults(array('sort_priority' => 0, 'parsed' => false, 'sorted' => false))->setAllowedValues('sort', array(null, 'asc', 'desc'))->setAllowedValues('operator', array_merge(array(null), Operations::getTextOperators(), Operations::getChoiceOperators(), Operations::getDateTimeOperators()))->setAllowedTypes('sort_priority', 'int'); }
/** * Configure adapter options * * @param OptionsResolver $resolver * @throws \Symfony\Component\OptionsResolver\Exception\ExceptionInterface */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefined('digest_domains')->setAllowedTypes('digest_domains', 'string'); $resolver->setDefined('nonce_timeout')->setAllowedTypes('nonce_timeout', 'int'); $resolver->setDefault('use_opaque', false)->setAllowedTypes('use_opaque', 'bool'); $resolver->setDefault('algorithm', 'MD5')->setAllowedTypes('algorithm', 'string'); }
public function __construct(\Doctrine\ORM\EntityManager $em, \Doctrine\ORM\Mapping\ClassMetadata $class) { $this->resolverGetEleves = new OptionsResolver(); $this->resolverGetEleves->setDefined(array('school_id', 'date_day', 'activity_type')); $this->resolverGetEleves->setAllowedTypes('date_day', \DateTimeInterface::class); $this->resolverGetEleves->setDefaults(array('school_id' => 0)); parent::__construct($em, $class); }
/** * {@inheritdoc} */ protected function configureProperties(OptionsResolver $resolver) { $resolver->setDefined('serverurl')->setAllowedTypes('serverurl', 'string'); $resolver->setDefined('username')->setAllowedTypes('username', 'string'); $resolver->setDefined('password')->setAllowedTypes('password', 'string'); $resolver->setDefined('prompt')->setAllowedTypes('prompt', 'string'); $resolver->setDefined('history_file')->setAllowedTypes('history_file', 'string'); }
/** * 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']); }
/** * {@inheritdoc} */ protected function configureProperties(OptionsResolver $resolver) { $resolver->setDefined('file')->setAllowedTypes('file', 'string'); // TODO: octal vs. decimal value $resolver->setDefined('chmod')->setAllowedTypes('chmod', 'int'); $resolver->setDefined('chown')->setAllowedTypes('chown', 'string'); $resolver->setDefined('username')->setAllowedTypes('username', 'string'); $resolver->setDefined('password')->setAllowedTypes('password', ['string', 'numeric']); }
/** * {@inheritdoc} */ protected function configureProperties(OptionsResolver $resolver) { $resolver->setDefined('file')->setAllowedTypes('file', 'string'); // TODO: octal vs. decimal value $resolver->setDefined('chmod'); $this->configureIntegerProperty('chmod', $resolver); $resolver->setDefined('chown')->setAllowedTypes('chown', 'string'); $resolver->setDefined('username')->setAllowedTypes('username', 'string'); $resolver->setDefined('password')->setAllowedTypes('password', 'string'); }
/** * {@inheritdoc} */ protected function configureProperties(OptionsResolver $resolver) { $resolver->setRequired('port')->setAllowedTypes('port', ['integer', 'string'])->setNormalizer('port', function (Options $options, $value) { // We cast it to integer first to make sure it is an integer representation is_numeric($value) and $value = '*:' . intval($value); return $value; }); $resolver->setDefined('username')->setAllowedTypes('username', 'string'); $resolver->setDefined('password')->setAllowedTypes('password', ['string', 'numeric']); }
/** * @return OptionsResolver */ public function getConfigurableOptions() { $resolver = new OptionsResolver(); $resolver->setDefined('clover_file'); $resolver->setDefined('level'); $resolver->addAllowedTypes('clover_file', ['string']); $resolver->addAllowedTypes('level', ['int', 'float']); $resolver->setDefaults(['level' => 100]); $resolver->setRequired('clover_file'); return $resolver; }
/** * 合并和校验参数 */ public function resolveOptions() { $defaults = array('nonce_str' => Util::getRandomString(), 'client_ip' => Util::getClientIp()); $resolver = new OptionsResolver(); $resolver->setDefined($this->required)->setRequired($this->required)->setDefaults($defaults); return $resolver->resolve($this->toArray()); }
function it_defines_an_assigned_data_class(OptionsResolver $resolver) { $resolver->setDefaults(['data_class' => 'PromotionRule', 'validation_groups' => ['Default']])->shouldBeCalled(); $resolver->setDefined(['configuration_type'])->shouldBeCalled(); $resolver->setDefaults(['configuration_type' => ItemTotalRuleChecker::TYPE])->shouldBeCalled(); $this->configureOptions($resolver); }
/** * Configure options * * @param OptionsResolver $resolver * @return void */ protected function configureOptions(OptionsResolver $resolver) { $resolver->setRequired(['amount']); $resolver->setDefined(['currency', 'terminal', 'credit_card_token', 'payment_id']); $resolver->setAllowedTypes('credit_card_token', 'string'); $resolver->setAllowedTypes('payment_id', 'string'); $resolver->setNormalizer('currency', function (Options $options, $value) { if (!isset($options['payment_id'])) { $fields = ['terminal', 'credit_card_token', 'currency']; foreach ($fields as $field) { if (!isset($options[$field])) { throw new \InvalidArgumentException(sprintf('The fields "%s" is required', implode(', ', $fields))); } } } return $value; }); $resolver->setNormalizer('payment_id', function (Options $options, $value) { $fields = ['currency', 'terminal', 'credit_card_token']; foreach ($fields as $field) { if (isset($options[$field])) { throw new \InvalidArgumentException(sprintf('The fields "%s" is not allowed when "payment_id" is set', implode(', ', $fields))); } } return $value; }); }
/** * @param ResponseInterface $httpResponse * @param string $language * @throws BadResponseException * @see https://developers.google.com/places/web-service/details#PlaceDetailsResults * @throws \Exception */ public function __construct(ResponseInterface $httpResponse, $language) { // Get ResponseInterface content and test it for json $jsonData = $httpResponse->getBody()->getContents(); $data = json_decode($jsonData, true); // Append language to result $data['language'] = $language; if (false === $data) { throw new \InvalidArgumentException(sprintf('Response : "%s" has wrong format', $data)); } $options = new OptionsResolver(); $options->setRequired(['language']); $options->setDefined(['error_message', 'html_attributions', 'results', 'status']); $this->data = $options->resolve($data); // Set language as part of results if (isset($this->data['results'])) { foreach ((array) $this->data['results'] as $key => $value) { $this->data['results'][$key]['language'] = $language; } } $this->data['language'] = $language; // Check request status if (!$this->checkRequestStatus()) { throw new \Exception(sprintf('Request failed "%s"', $jsonData)); } }
/** * * @param OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired(array('class', 'type')); $resolver->setDefined(array('create_options', 'modal_size')); $resolver->setDefaults(array('include_button' => true, 'include_form' => true, 'error_bubbling' => false, 'entity_options' => array())); $resolver->setAllowedValues('modal_size', array(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12)); }
/** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setRequired('template'); $resolver->setAllowedTypes('template', 'string'); $resolver->setDefined('vars'); $resolver->setAllowedTypes('vars', 'array'); }
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); }
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']); }
function it_should_define_assigned_data_class(OptionsResolver $resolver) { $resolver->setDefaults(array('data_class' => 'Action', 'validation_groups' => array('sylius')))->shouldBeCalled(); $resolver->setDefined(array('configuration_type'))->shouldBeCalled(); $resolver->setDefaults(array('configuration_type' => ActionInterface::TYPE_FIXED_DISCOUNT))->shouldBeCalled(); $this->configureOptions($resolver); }
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); }
/** * @param \Symfony\Component\OptionsResolver\OptionsResolver $resolver */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefined($this->prependAndAppendOptions); foreach ($this->prependAndAppendOptions as $option) { $resolver->setAllowedTypes($option, 'string'); } }
/** * 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']); }
/** * @param array $data */ public function __construct(array $data) { $options = new OptionsResolver(); $options->setRequired('language'); $options->setDefined(['address_components', 'formatted_address', 'formatted_phone_number', 'geometry', 'icon', 'id', 'international_phone_number', 'name', 'opening_hours', 'adr_address', 'place_id', 'geometry', 'reference', 'scope', 'types', 'url', 'vicinity', 'html_attributions']); $this->data = $options->resolve($data); }
/** * {@inheritdoc} */ public function setDefined($optionNames) { if (!$this->isLatest()) { return $this->setOptional($optionNames); } return parent::setDefined($optionNames); }
function it_should_define_assigned_data_class(OptionsResolver $resolver) { $resolver->setDefaults(['data_class' => 'Rule', 'validation_groups' => ['Default']])->shouldBeCalled(); $resolver->setDefined(['configuration_type'])->shouldBeCalled(); $resolver->setDefaults(['configuration_type' => RuleInterface::TYPE_ITEM_TOTAL])->shouldBeCalled(); $this->configureOptions($resolver); }
public function resolve(array $value) : array { $optionsResolver = new OptionsResolver(); $optionsResolver->setDefined(self::NAME); $this->setSourceAllowedValues($optionsResolver); $values = $optionsResolver->resolve([self::NAME => $value]); return $values[self::NAME]; }
/** * {@inheritdoc} */ public function configureOptions(OptionsResolver $resolver) { $resolver->setDefined(['repository_options', 'identifier'])->setRequired(['repository'])->setDefaults(['repository_options' => [], 'identifier' => 'code'])->setNormalizer('choices', function (Options $options, $value) { return $options['repository']->findTranslatedLabels($options['repository_options']); })->setAllowedValues(['repository' => function ($repository) { return $repository instanceof TranslatedLabelsProviderInterface; }]); }
/** * In resolve() we count the options that are actually set (which may be * only a subset of the defined options). Outside of resolve(), it's not * clear what is counted. * * @expectedException \Symfony\Component\OptionsResolver\Exception\AccessException */ public function testCountFailsOutsideResolve() { $this->resolver->setDefault('foo', 0); $this->resolver->setRequired('bar'); $this->resolver->setDefined('bar'); $this->resolver->setDefault('lazy1', function () { }); count($this->resolver); }