【发布时间】:2011-10-09 20:51:24
【问题描述】:
我有一个类受益于在其内部实现中使用常量,但我想限制这些常量的可见性。为什么 PHP 不允许私有常量?是否有其他方法可以实现这一点,或者 PHP 是否试图阻止我不知道的某种类型的设计失误?
【问题讨论】:
-
使用反射你可以检索任何东西。因此,即使有私有常量,也没有任何方法可以真正隐藏数据。
-
@zerkms 在生成 doxygen 文档时(也就是说,当您告诉 doxygen 不要公开私有类成员时)使用私有常量可能很有用。
-
@zerkms “反射”是什么意思?
-
@zerkms 哈哈。但从技术上讲,你甚至不需要那么极端。如果脚本已经在服务器上并且它可以作为脚本用户执行 file_get_contents,并且您可以打开任何常量或伪常量(如直接在文件中设置的 priv 静态变量)
标签: php oop constants private encapsulation