为什么 PHP 不允许私有 const?

2022-08-30 08:46:26

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


答案 1

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

private const PRIVATE_CONST = 0;

有关详细信息,请参阅类常量可见性 RFC


答案 2

使用属性。private static

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


推荐