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;
$greeting = Some::new('Hello World!');
echo $greeting->unwrap(); // 'Hello World!'
$name = None::new();
echo $name->unwrap(); // throw `NullPointerException`
echo $name->unwrapOr('Default Value'); // 'Default Value'
None::new(); // return `None`
Some::nullable(null); // return `None`
Some::new(null); // throw `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.