PHP:不可变的公共成员字段

发布时间:2022-04-30 发布网站:脚本宝典
脚本宝典收集整理的这篇文章主要介绍了PHP:不可变的公共成员字段脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要创建一个简单的成员字段容器的不可变类.我希望其字段在其构造函数中被实例化一次(这些值应该作为构造函数的参数给出).我希望这些字段是公开的,但是不可改变.我可以使用 Java在每个字段之前使用final关键字.在 PHP中怎么做?
您应该使用__set和__get魔方法,并将该属性声明为PRotected或private:
class Example
{
    private $value;

    public function __construct()
    {
        $this->value = "test";
    }

    public function __get($key)
    {
        if (proPErty_exists($this,$key)) {
            return $this->{$key};
        } else {
            return null; // or throw an exception
        }
    }

    public function __set($key,$value)
    {
        return; // or throw an exception
    }
}

用法

$example = new Example();
var_dump($example->value);
$example->value = "invalid";
VAR_dump($example->value);

输出

string(4) "test"
string(4) "test"

脚本宝典总结

以上是脚本宝典为你收集整理的PHP:不可变的公共成员字段全部内容,希望文章能够帮你解决PHP:不可变的公共成员字段所遇到的问题。

如果觉得脚本宝典网站内容还不错,欢迎将脚本宝典推荐好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。