为什么PHP不允许私有const?

时间:2011-07-21 01:30:24

标签: php oop const private encapsulation

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

2 个答案:

答案 0 :(得分:60)

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

private const PRIVATE_CONST = 0;

有关详细信息,请参阅Class Constant Visibility RFC

答案 1 :(得分:58)

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