https://github.com/steevanb/symfony-options-resolver
Add features to Symfony OptionsResolver component.
https://github.com/steevanb/symfony-options-resolver
options-resolver php symfony
Last synced: 3 months ago
JSON representation
Add features to Symfony OptionsResolver component.
- Host: GitHub
- URL: https://github.com/steevanb/symfony-options-resolver
- Owner: steevanb
- Created: 2019-09-27T08:49:19.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2019-12-06T11:17:30.000Z (over 5 years ago)
- Last Synced: 2025-03-09T03:34:37.979Z (4 months ago)
- Topics: options-resolver, php, symfony
- Language: PHP
- Homepage:
- Size: 8.79 KB
- Stars: 1
- Watchers: 2
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: changelog.md
Awesome Lists containing this project
README
[](https://github.com/steevanb/symfony-options-resolver/tree/1.1.0)
[](https://github.com/symfony/options-resolver)
[](http://www.php.net)


[](https://scrutinizer-ci.com/g/steevanb/symfony-options-resolver/)### symfony-options-resolver
Add features to Symfony [OptionsResolver](https://github.com/symfony/options-resolver) component.
[Changelog](changelog.md)
### Installation
```bash
composer require "steevanb/symfony-options-resolver": "^1.1.0"
```### Examples
Define an optional option with a default value:
```php
use steevanb\SymfonyOptionsResolver\OptionsResolver;$optionsResolver = new OptionsResolver();
# Configure an optional option
$optionsResolver->configureOption('foo', ['string'], 'default', ['default', 'value1', 'value2']);# Equivalent to call original OptionsResolver methods:
$optionsResolver
->setDefined('foo')
->setAllowedTypes('foo', ['string'])
->setDefault('foo', 'default')
->setAllowedValues('foo', ['default', 'value1', 'value2']);
```Define a required option:
```php
use steevanb\SymfonyOptionsResolver\OptionsResolver;$optionsResolver = new OptionsResolver();
# Configure a required option
$optionsResolver->configureRequiredOption('foo', ['string'], ['value1', 'value2']);# Equivalent to call original OptionsResolver methods:
$optionsResolver
->setRequired('foo')
->setAllowedTypes('foo', ['string'])
->setAllowedValues('foo', ['value1', 'value2']);
```Allow unknown keys:
```php
use steevanb\SymfonyOptionsResolver\OptionsResolver;# This will not throw an exception because extraKey is not configured
(new OptionsResolver())
->configureRequiredOption('foo', ['string'], ['value1', 'value2'])
->setAllowUnknownKeys(true)
->resolve(['foo' => 'value1', 'extraKey' => 'extraValue']);
```