123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960 |
- <?php
- namespace Proto\Api;
- use UnexpectedValueException;
- class YES_NO
- {
-
- const YES_NO_RESERVED = 0;
-
- const YES = 1;
-
- const NO = 2;
- private static $valueToName = [
- self::YES_NO_RESERVED => 'YES_NO_RESERVED',
- self::YES => 'YES',
- self::NO => 'NO',
- ];
- public static function name($value)
- {
- if (!isset(self::$valueToName[$value])) {
- throw new UnexpectedValueException(sprintf(
- 'Enum %s has no name defined for value %s', __CLASS__, $value));
- }
- return self::$valueToName[$value];
- }
- public static function value($name)
- {
- $const = __CLASS__ . '::' . strtoupper($name);
- if (!defined($const)) {
- throw new UnexpectedValueException(sprintf(
- 'Enum %s has no value defined for name %s', __CLASS__, $name));
- }
- return constant($const);
- }
- }
|