我正在寻找一种方法来声明一个初始化后无法更改的成员变量(可以设置一次,但永远不会重置)。
我不是在寻找类常量,而是在寻找每个实例的成员变量。无论如何在PHP中这样做?
答案 0 :(得分:1)
解决方案可以是:
class SuperClass {
private $_something;
public final SetSomething(SomethingCls $something) {
if ($this->_something != NULL) {
throw new \Exception();
}
$this->_something = $something;
}
public final GetSomething() {
return $this->_something;
}
}
事实上,没有任何PHP构造可以实现这一点,因此您必须编写自己的实现来解决特定问题。如果没有通过继承进行检查和/或保护,则无法保护变量不被覆盖。
答案 1 :(得分:-2)
您可以使用final关键字: -
final $variable