jeyroik/extas-configs

There is no license information available for the latest version (0.1.0) of this package.

Extas configs dispatchers API

0.1.0 2023-04-07 19:13 UTC

This package is auto-updated.

Last update: 2024-11-07 22:32:00 UTC


README

PHP Composer codecov.io Latest Stable Version Total Downloads Dependents

extas-configs

Библиотека для стандартизации API по обработке конфигов, т.е. когда на основании конфигурации надо либо что-то сделать, либо создать какой-то объект.

Принцип работы с библиотекой:

use jeyroik\components\configs\ConfigDispatcher;
use jeyroik\components\THasAttributes;

class MyDispatcher extends ConfigDispatcher
{
    public function __invoke(): IConfigResult
    {
        // Разбираем конфиг.
        ...

        // Конструируем и возвращаем результат
        return $this->createSuccessResult(...);
    }
}

// где-то в коде

$cfg = [...];
$dispatcher = new MyDispatcher($cfg);
$result = $dispatcher();

if ($result->hasError()) {
    list($message, $code) = $result->getError();
} else {
    return $result->getValue(); // то, что получилось после разбора конфигурации
}