为什么 PHP 不允许私有常量?

我有一个类,它受益于在其内部实现中使用常量,但我想限制这些常量的可见性。为什么 PHP 不允许私有常量?有没有其他的方法来实现这一点,或者 PHP 试图阻止一些类型的设计错误,我是无知的?

21150 次浏览

使用 private static属性。

在这种情况下,所有对象中都有相同的变量,如果希望将其范围扩展到嵌套,可以公开 getter 方法以获取其值并限制变量设置。

在 PHP 7.1中,有真正的私有常量。

private const PRIVATE_CONST = 0;

有关更多信息,请参见 类的恒定可见性