2017 © Pedro Peláez
 

library result

Result values

image

dxw/result

Result values

  • Friday, September 1, 2017
  • by tomdxw
  • Repository
  • 9 Watchers
  • 0 Stars
  • 7,227 Installations
  • PHP
  • 2 Dependents
  • 0 Suggesters
  • 0 Forks
  • 0 Open issues
  • 3 Versions
  • 23 % Grown

The README.md

dxw/result

Meant to be a drop-in replacement for nikita2206/result, with one addition: wrap()., (*1)

wrap() was inspired by github.com/pkg/errors., (*2)

Installation

composer require dxw/result

Usage

Returning values:, (*3)

function myfunc(): \Dxw\Result\Result
{
    if (/* error */) {
        // getErr() will return 'something went wrong'
        return \Dxw\Result\Result::err('something went wrong');
    }

    return \Dxw\Result\Result::ok($value);
}

Handling Result values:, (*4)

$result = myfunc();
if ($result->isErr()) {
    echo sprintf("Error: %s\n", $result->getErr());
    exit(1);
}
$value = $result->unwrap();

Returning errors from other errors:, (*5)

function anotherfunc(): \Dxw\Result\Result
{
    $result = myfunc();
    if ($result->isErr()) {
        // getErr() will return 'got invalid value: something went wrong'
        return $result->wrap('got invalid value');
    }
    // do something with $result->unwrap()
}

The Versions