php多维枚举(const)

时间:2018-01-05 13:51:12

标签: php enums const

我有一个活动枚举:

class Activities
{
    const running = 'running';
    ...
}

现在我想在常量中添加一个id:

class Activities
{
    const running = ['title' => 'running', 'id' => 1]
    ...
}

不幸的是,使用数组时我没有自动完成功能。因此,我更愿意使用类而不是数组。

然而,const不允许这样做。 (表达式不允许作为类常量值)

是否有针对此案例启用自动完成的解决方案?

2 个答案:

答案 0 :(得分:2)

您可以删除const并将您的枚举定义为public static

class Activities
{
    public static $running = ['title' => 'running', 'id' => 1];
}

答案 1 :(得分:0)

这将是使用数组,然后自动完成变得有点麻烦但仍然可能(如果我理解你的意图正确)你将不得不对$ array ['activity']

运行它

或者您将需要创建一个类

class Activity {
    const activity='';
    const id='';
    cont etc='...';
}

然后你需要为你想要玩的每一个实例化一个新的Activity。

但不确定如何比阵列更加繁琐。

很抱歉,如果答案有点令人费解,那已经有一段时间了,因为我不得不考虑任何一种可区别的人类语言的PHP。