我正在寻找一种方法来声明一个成员变量,该成员变量一旦初始化就无法更改(可以设置一次,但永远不会重置)。
我不是在寻找类常量,而是每个实例的成员变量。在 PHP 中有什么办法吗?
解决方案可以是:
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结构来实现这一点,因此您必须编写自己的实现来解决特定问题。如果不进行一些检查和/或通过继承进行保护,就无法保护变量不被覆盖。
您可以使用
最后一个关键字:-
final $variable