fivelab/error

This package is abandoned and no longer maintained. No replacement package was suggested.

Control error codes with many systems

v1.0 2015-09-15 13:51 UTC

This package is not auto-updated.

Last update: 2017-08-16 12:51:51 UTC


README

With this package, you can control error codes and exceptions in system with many sub systems.

Installation

Add FiveLab/Error in your composer.json:

{
    "require": {
        "fivelab/error": "~1.0"
    }
}

Now tell composer to download the library by running the command:

$ php composer.phar update fivelab/error

Basic usage

For collect all error codes, you must create a error factory in you sub system:

use FiveLab\Component\Error\ErrorFactoryInterface;

final class MySystemError implements ErrorFactoryInterface
{
    const ERROR_1 = 1;
    const ERROR_2 = 2;

    public function getErrors()
    {
        return [
            self::ERROR_1 => 'Error #1',
            self::ERROR_2 => 'Error #2'
        ];
    }

    public function getExceptions()
    {
        return [];
    }

    public function getReservedDiapason()
    {
        return [1, 5];
    }
}

And create error system (Storage), and add this factory to storage:

use FiveLab\Component\Error\Errors;

$errors = new Errors();
$errors->addFactory(new MySystemError());

After, you can:

  1. Get reserved diapasons for each system
    $errors->getReservedCodes();
  2. Get all errors for system
    $errors->getErrors();
  3. Get all exceptions
    $exceptions = $errors->getExceptions();
  4. Check, if has exception in errors storage
    $exception = new \Exception();
    $errors->hasException($exception);
  5. Get error code for exception
    $exception = new \Exception();
    $code = $errors->getExceptionCode($exception);
  6. Check reserved codes
    $errors->checkReservedCodes();