Рефакторинг исключений, новые константы ограничений
Описывать все слишком долго, TLDR:
- упрощены корневые AtolException, {BasicTooLongException => TooLongException}, {BasicTooManyException => TooManyException}
- InvalidSnoException заменён на InvalidEnumValueException
- добавлены новые константы, общий порядок изменён в соответствии с порядком упоминания в документации, ссылки на которую тоже добавлены с указанием страниц
Помимо этого, в enum-ах теперь должен быть предусмотрен метод getFfdTags()
This commit is contained in:
38
src/Exceptions/InvalidEnumValueException.php
Normal file
38
src/Exceptions/InvalidEnumValueException.php
Normal file
@@ -0,0 +1,38 @@
|
||||
<?php
|
||||
/*
|
||||
* Copyright (c) 2020-2021 Антон Аксенов (Anthony Axenov)
|
||||
*
|
||||
* This code is licensed under MIT.
|
||||
* Этот код распространяется по лицензии MIT.
|
||||
* https://github.com/anthonyaxenov/atol-online/blob/master/LICENSE
|
||||
*/
|
||||
|
||||
declare(strict_types = 1);
|
||||
|
||||
namespace AtolOnline\Exceptions;
|
||||
|
||||
use AtolOnline\Enum;
|
||||
|
||||
/**
|
||||
* Исключение, возникающее при ошибке валидации типа агента
|
||||
*/
|
||||
class InvalidEnumValueException extends AtolException
|
||||
{
|
||||
/**
|
||||
* Конструктор
|
||||
*
|
||||
* @param string $enum
|
||||
* @param mixed $value
|
||||
* @param string $message
|
||||
* @param array $ffd_tags
|
||||
*/
|
||||
public function __construct(string $enum, mixed $value, string $message = '', array $ffd_tags = [])
|
||||
{
|
||||
/** @var $enum Enum */
|
||||
parent::__construct(
|
||||
($message ?: "Некорректное значение $enum::$value.") .
|
||||
" Допустимые значения: " . implode(', ', $enum::toArray()),
|
||||
$ffd_tags ?: $enum::getFfdTags()
|
||||
);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user