ghostwriter / option
Provides an Option type implementation for PHP
Maintainers
Details
Fund package maintenance!
ghostwriter
Installs: 2 249 052
Dependents: 10
Suggesters: 0
Security: 0
Stars: 2
Watchers: 1
Forks: 1
Open Issues: 1
Requires
- php: >=8.1,<8.4
Requires (Dev)
- ghostwriter/coding-standard: dev-main
README
Provides an Option
type implementation for PHP.
Installation
You can install the package via composer:
composer require ghostwriter/option
Star ⭐️ this repo if you find it useful
You can also star (🌟) this repo to find it easier later.
Usage
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)
Testing
composer test
Credits
Changelog
Please see CHANGELOG.md for more information on what has changed recently.
License
Please see LICENSE for more information on the license that applies to this project.
Security
Please see SECURITY.md for more information on security disclosure process.