takeoto / state
Abstraction for the state of system processes.
dev-main
2023-05-06 07:27 UTC
Requires
- php: >=7.4
- takeoto/message: dev-main
This package is auto-updated.
Last update: 2024-05-06 09:42:15 UTC
README
Abstraction for the state of system processes
Usage
use Takeoto\State\State; use Takeoto\Message\NoticeMessage; use Takeoto\Message\ErrorMessage; use Takeoto\Message\WarningMessage; use Takeoto\State\Utility\StateUtility; $state = new State([ new NoticeMessage('☀️The notice message.'), new WarningMessage('⚠️The warning message!'), new ErrorMessage(500, 'The error message ‼️'), ]); $state->isOk(); # false StateUtility::ensure($state); # Throws an exception # --- $state = new State([ new NoticeMessage('☀️The notice message.'), new WarningMessage('⚠️The warning message!'), ]); $state->isOk(); # true # --- $state = new State([], true); $state->isOk(); # true # --- # $service = new SomeService(); # $state = $service->doSomeWork(...$args); # # if (!$state->isOk()) { # throw new \RuntimeException($state->getMessages()->getErrors()->first()); # }