可能重复:
PHP Readonly Properties?
我希望公开显示一个属性:
echo $object->prop;
但我不想修改。
除了使用__get
?
答案 0 :(得分:0)
我能想到的其他方式:
__set()
功能并忽略该设置。希望这会有所帮助:)
答案 1 :(得分:0)
除了使用__get?
之外,还有其他选择可以实现吗?
不,但有功能请求:https://bugs.php.net/bug.php?id=46506因此您可以投票支持它的重要性,并希望这将在不久的将来得到解决。
但是我不认为它会在不久的将来,因为这个功能会产生很多混乱,比如存储在属性中的对象 - 它们只是对象的引用,所以让它们可见让你可以操作它的方法/属性。
至于现在,为每个属性创建适当的getter,你想要只读,似乎是最好的解决方案。