<?php namespace Google\Protobuf\Internal\FeatureSet; use UnexpectedValueException; class RepeatedFieldEncoding { const REPEATED_FIELD_ENCODING_UNKNOWN = 0; const PACKED = 1; const EXPANDED = 2; private static $valueToName = [ self::REPEATED_FIELD_ENCODING_UNKNOWN => 'REPEATED_FIELD_ENCODING_UNKNOWN', self::PACKED => 'PACKED', self::EXPANDED => 'EXPANDED', ]; 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); } }