PHP 常量成员变量


PHP constant member variable

我正在寻找一种方法来声明一个成员变量,该成员变量一旦初始化就无法更改(可以设置一次,但永远不会重置)。

我不是在寻找类常量,而是每个实例的成员变量。在 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