Download the PHP package ebidtech/options-resolver without Composer
On this page you can find all versions of the php package ebidtech/options-resolver. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download ebidtech/options-resolver
More information about ebidtech/options-resolver
Files in ebidtech/options-resolver
Package options-resolver
Short Description An extension of Symfony's OptionsResolver component
License MIT
Homepage https://github.com/ebidtech/options-resolver
Informations about the package options-resolver
OptionsResolver
This projects extends Symfony's OptionsResolver component, adding some useful features. For a list of all added features please see the Usage section of this readme.
Installation
The recommended way to install is through composer.
Just create a composer.json
file for your project:
And run these two commands to install it:
Now you can add the autoloader, and you will have access to the library:
Usage
This component is used exactly in the same way of the original component. For a good reference about the original component please see its documentation entry.
The component is used as follows:
Option type casting
It is often useful to use Symfony's OptionResolver when dealing with API arguments, deserialization results, etc. However, sometimes values are given as string representations of their original values, for example, "123" instead of 123. In this case setting the allowed type to "int" won't validate, because in reality the value is a string.
To address this problem two methods have been created and .
Allowed cast types
Currently the following cast types are allowed:
- int
- float
- bool
If an unsupported type cast is set an exception will be thrown. When a cast is set but the given value is not castable to that specific type, the original value is kept, and any additional validations are applied as normal.
NOTE: Currently type casting is handled with PHP's . For additional examples of how it converts specific cases please check the [official documentation]() or this repository's tests.