我正在寻找一种方法来声明一个一旦初始化就不能更改的成员变量(它可以设置一次,但永远不会重置)。
我不是在寻找类常量,而是在寻找每个实例的成员变量。无论如何在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关键字:-
final $variable