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-04-07 21:21:25 UTC


README

PHP Composer codecov.io 68747470733a2f2f6170692e636f6465636c696d6174652e636f6d2f76312f6261646765732f64303365623735373461363265643631626666632f6d61696e7461696e6162696c697479 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(); // то, что получилось после разбора конфигурации
}