有没有办法为PHP枚举类型添加多个级别?

3
有人知道对于php的AbstractEnumeration,是否有办法在其下面再添加另一层级吗?
就像这样...
const a = 'a';
const b = 'b';

但是我有一个关于 a 的可选参数:

const a = 'a' => '=123'

我知道这可能最终会变成哈希表,但只是想知道如何使用php枚举类型做一些有趣的事情。

2个回答

1

PHP不支持本地枚举。

您可以执行以下操作:

abstract class ErrorCode
{
   const NOT_FOUND = 404;
   const OK = 200;
   // etc.

}

$error = ErrorCode::NOT_FOUND;

这个在PHP中无法工作:
const a = 'a' => '=123'

我一直在使用这个:https://github.com/eloquent/enumeration但我喜欢后者的想法。谢谢!我会看看它是否可行。编辑:php不允许常量值中有表达式。 - theamycode

0

你可以将对象序列化为数组:

# serialize data into an array
define ("a", serialize (array ("a" => 123)));

# use it wherever you want
$a = unserialize (a);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接