Provides an Option
type implementation for PHP.
You can install the package via composer:
composer require ghostwriter/option
You can also star (🌟) this repo to find it easier later.
use Ghostwriter\Option\Exception\NullPointerException;
use Ghostwriter\Option\None;
use Ghostwriter\Option\Some;
use Ghostwriter\Option\Option;
$message = '#BlackLivesMatter';
Option::new($message); // return `Some`
$some = Some::new($message); // return `Some`
echo $some->get(); // prints #BlackLivesMatter
$none = None::new(); // return `None`
// calling the `get` method on `None` will throw `NullPointerException`
echo $none->get(); // throw `NullPointerException`
echo $none->getOr('#BLM'); // prints #BLM
// calling the `new` static method with `null` will return `None`
Option::new(null); // return `None`
// calling the `new` static method with `null will throw `NullPointerException`
Some::new(null); // throws `NullPointerException`
// calling the `new` static method with `None will throw `NullPointerException`
Some::new(None::new()); // throws `NullPointerException`
--- Example
function divide(int $x, int $y): OptionInterface
{
if ($y === 0) {
return None::new();
}
return Some::new($x / $y);
}
divide(1, 0); // None
divide(1, 1); // Some(1)
composer test
Please see CHANGELOG.md for more information on what has changed recently.
Please see LICENSE for more information on the license that applies to this project.
Please see SECURITY.md for more information on security disclosure process.