Download the PHP package code-distortion/options without Composer
On this page you can find all versions of the php package code-distortion/options. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download code-distortion/options
More information about code-distortion/options
Files in code-distortion/options
Package options
Short Description Simple and flexible, expressive option handling
License MIT
Homepage https://github.com/code-distortion/options
Informations about the package options
Options
code-distortion/options is a PHP library for managing options in a simple, flexible and expressive way.
Installation
Install the package via composer:
Usage
The parse()
method will take your string and break it down into separate options:
Value types
You can specify option values as either key-value-pairs.
Expressive string format
Multiple string values can joined together and separated with either spaces "`" or a comma
,` (or both):
Note: Regular expressions are used to examine the string values above. You may wish to use them for convenience, or use plain arrays like below for faster speed.
Array key-value-pairs
You can specify values simply as arrays:
Note: You can specify non-scalar values with this library (eg. nested arrays), however they aren't dealt with in any special way. They are currently treated like scalar values.
Using in your code
You can use an Options instance to handle values for you programmatically. The resolve()
method will parse the input and return the Options object which you can then interrogate in your code:
Specifying default values
You can specify default fall-back values to use by calling defaults()
:
Resolving a set of options with defaults
To combine default values and custom values, use the defaults()
method and then resolve()
:
Note: If you specify default values, any values passed to resolve()
that aren't present in the defaults will generate an exception unless allowUnexpected()
is called before hand:
Validation
If you want to validate the given values you can pass a callback closure to validator()
. Each value that is picked will be passed to your callback to check that it's valid. If it returns a false-y value, an exception will be raised.
Chaining
The methods below may be chained together, and any of them can be called statically to instantiate an Options object:
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
SemVer
This library uses SemVer 2.0.0 versioning. This means that changes to X
indicate a breaking change: 0.0.X
, 0.X.y
, X.y.z
. When this library changes to version 1.0.0, 2.0.0 and so forth, it doesn't indicate that it's necessarily a notable release, it simply indicates that the changes were breaking.
Treeware
This package is Treeware. If you use it in production, then we ask that you buy the world a tree to thank us for our work. By contributing to the Treeware forest you’ll be creating employment for local families and restoring wildlife habitats.
Contributing
Please see CONTRIBUTING for details.
Code of Conduct
Please see CODE_OF_CONDUCT for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.
All versions of options with dependencies
ext-mbstring Version *