为什么PHP不允许私有const?

leo*_*leo 70 php oop encapsulation const private

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

Jer*_*auw 65

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

private const PRIVATE_CONST = 0;
Run Code Online (Sandbox Code Playgroud)

有关更多信息,请参阅类常量可见性RFC.

  • 特质不在讨论范围之内,只是想补充,这是特质所不允许的... (3认同)

小智 58

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

  • 太遗憾了这是一个解决方法.为什么不允许私有常量? (25认同)