Actions for Failback is a lightweight wrapper that empowers you to handle unavailability gracefully.
To install the package, you can use Composer. Simply run the following command:
$ composer require tabuna/failback
You can create an action with a default value using the following code:
use Tabuna\FailBack\Action;
// $result = 'default';
$result = Action::make(function () {
throw new \Exception();
}, 'default')->run();
// Alternatively, you can use the short helper
$result = failBack(function () {
throw new \Exception();
}, 'default')();
You can define multiple fallback actions using the fail
method:
// $result = true;
$result = failBack(function () {
throw new \Exception();
})->fail(function () {
throw new \Error();
})->fail(function () {
return true;
})();
To specify a fallback action using a class, create an anonymous class with an __invoke
method:
$class = new class {
/**
* @return bool
*/
public function __invoke(): bool
{
return true;
}
};
// $result = true;
$result = failBack(function () {
throw new Exception();
})->fail($class)->run();
The MIT License (MIT). Please see License File for more information.