Closed drslump closed 13 years ago
Right now Enums are generated as simple PHP classes with constants. They should inherit from a base Enum class that offers introspection features.
class Enum implements \Iterator, \ArrayAccess { public function getInstance(){ static $inst; return $inst ?: new static(); } public function __isset() { ... } public function __get() { ... } } class MyEnum extends Enum { const FOO = 1; const BAR = 2; } $enum = MyEnum::getInstance(); foreach ($enum as $k=>$v) { echo $k => $v; } $enum['FOO'] === 1; $enum[1] === 'FOO';
Implemented as DrSlump\Protobuf\Enum class which is inherited by generated enums.
DrSlump\Protobuf\Enum
Right now Enums are generated as simple PHP classes with constants. They should inherit from a base Enum class that offers introspection features.