2021-11-27 16:55:28 +00:00
|
|
|
<?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\Enums;
|
|
|
|
|
|
|
|
use AtolOnline\Exceptions\InvalidEnumValueException;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Расширение класса перечисления
|
|
|
|
*/
|
|
|
|
abstract class Enum extends \MyCLabs\Enum\Enum
|
|
|
|
{
|
|
|
|
/**
|
|
|
|
* @inheritDoc
|
|
|
|
* @throws InvalidEnumValueException
|
|
|
|
*/
|
|
|
|
public static function isValid($value)
|
|
|
|
{
|
2021-12-03 12:09:14 +00:00
|
|
|
return parent::isValid($value) ?: throw new InvalidEnumValueException(static::class, $value);
|
2021-11-27 16:55:28 +00:00
|
|
|
}
|
|
|
|
|
|
|
|
/**
|
|
|
|
* Возвращает массив тегов ФФД
|
|
|
|
*
|
|
|
|
* @return int[]
|
|
|
|
*/
|
|
|
|
abstract public static function getFfdTags(): array;
|
|
|
|
}
|