为什么PHP不允许私有const?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么PHP不允许私有const?相关的知识,希望对你有一定的参考价值。

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

答案

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

另一答案

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

private const PRIVATE_CONST = 0;

有关更多信息,请参阅Class Constant Visibility RFC

以上是关于为什么PHP不允许私有const?的主要内容,如果未能解决你的问题,请参考以下文章

PHP中可以使用私有常量吗? [复制]

为啥非 const 方法是私有的时不调用公共 const 方法?

为啥可以从对象范围之外调用私有方法?

php单例模式的实例

C++在函数声明时,后面跟个const是啥意思?

为啥Java不允许我通过同一个类的方法访问私有方法?