$_self = new self('zh-CN'); //新建实例,初始化 lang 为 zh-CN
context::set('translateService', $_self); //储存实例副本 【疑问之处】
$_self->lang = 'en'; //修改本例值
echo $_self->lang; //输出本例值 en
$_self_b = context::get('translateService'); //获取实例副本
echo $_self_b->lang; //居然输出的是本例的 en
set 函数没有使用引用类型,为什么修改本例,副本也会被修改,或者就是引用类型?
public static function set(string $key, $value): void
{
$obj = static::getObject();
$obj->$key = $value;
}
php的对象传递的就是引用
是哦,拍大腿的忘了,以前还记得复制要使用clone,sorry大佬