为什么PHP不允许私有const ?


Why doesn't PHP permit private const?

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

从PHP 7.1开始,有了真正的私有常量。

private const PRIVATE_CONST = 0;

查看类常量可见性RFC获取更多信息

使用private static属性

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