Первая фиксация
This commit is contained in:
91
Mirzaev/Feip/Error.php
Normal file
91
Mirzaev/Feip/Error.php
Normal file
@@ -0,0 +1,91 @@
|
||||
<?php
|
||||
|
||||
declare(strict_types=1);
|
||||
|
||||
namespace Mirzaev\Feip;
|
||||
|
||||
/**
|
||||
* Ошибка
|
||||
*
|
||||
* Сборщик ошибок
|
||||
*
|
||||
* @property string ERROR_100 Не установлен обязательный параметр
|
||||
* @property string ERROR_200 Неподходящее значение параметра
|
||||
* @property array $errors Собранные ошибки
|
||||
*
|
||||
* @method public function __construct(int $type, string $target = null, string $message = null) Создать ошибку
|
||||
* @method public static function get(int $number = null) Получить одну, либо все ошибки
|
||||
*
|
||||
* @package Mirzaev\Feip\Error
|
||||
* @author Арсен Мирзаев <red@hood.su>
|
||||
*
|
||||
* @todo Я бы вместо этого подключил библеотеку на PSR-7, да сделал там сбор и возврат всех ТИПОВ ошибок
|
||||
*/
|
||||
class Error
|
||||
{
|
||||
/**
|
||||
* Ошибка #100
|
||||
*
|
||||
* Не установлен обязательный параметр
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected const ERROR_100 = 'Не установлен обязательный параметр';
|
||||
|
||||
/**
|
||||
* Ошибка #200
|
||||
*
|
||||
* Неподходящее значение параметра
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected const ERROR_200 = 'Неподходящее значение параметра';
|
||||
|
||||
/**
|
||||
* Ошибки
|
||||
*
|
||||
* Собранные ошибки за время выполнения
|
||||
*
|
||||
* @var array
|
||||
*/
|
||||
protected static array $errors = [];
|
||||
|
||||
/**
|
||||
* Создать ошибку
|
||||
*
|
||||
* @param int $type Тип ошибки
|
||||
* @param string|null $target Причина ошибки
|
||||
* @param string|null $message Сообщение об ошибке
|
||||
*
|
||||
* @todo Я бы переименовал $type (Тип ошибки) в $code (Код ошибки), но уже поздно
|
||||
*
|
||||
* @return void
|
||||
*/
|
||||
public function __construct(int $type, string $target = null, string $message = null)
|
||||
{
|
||||
self::$errors[] = [
|
||||
'type' => $type,
|
||||
'target' => $target ?? 'request',
|
||||
'value' => $message ?? constant('self::ERROR_' . $type)
|
||||
];
|
||||
}
|
||||
|
||||
/**
|
||||
* Получить одну, либо все ошибки
|
||||
*
|
||||
* @param int|null $number Номер ошибки
|
||||
*
|
||||
* @return array
|
||||
*/
|
||||
public static function get(int $number = null): array
|
||||
{
|
||||
// Одна ошибка
|
||||
if (isset($number)) {
|
||||
// Если передан номер ошибки
|
||||
return self::$errors[$number];
|
||||
}
|
||||
|
||||
// Все ошибки
|
||||
return self::$errors;
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user