httpCode = $httpCode; $this->details = $details; } public function getHttpCode() { return $this->httpCode; } public function getDetails() { return $this->details; } } class WorkflowNotFoundException extends Exception {} class WorkflowNotAllowedException extends Exception {} class WorkflowRuleFailedException extends Exception {} class WorkflowEligibilityException extends Exception { private $reasons; public function __construct($message = "", $reasons = [], $code = 0, Throwable $previous = null) { parent::__construct($message, $code, $previous); $this->reasons = $reasons; } public function getReasons() { return $this->reasons; } }