为什么PHP不允许私有const?

问题描述 投票:69回答:2

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

php oop const private encapsulation
2个回答
58
投票

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


60
投票

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

private const PRIVATE_CONST = 0;

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

© www.soinside.com 2019 - 2024. All rights reserved.