webman 上下文 context::set 傳參問(wèn)題
先看案例
$_self = new self('zh-CN'); //新建實(shí)例,初始化 lang 為 zh-CN
context::set('translateService', $_self); //儲(chǔ)存實(shí)例副本 【疑問(wèn)之處】
$_self->lang = 'en'; //修改本例值
echo $_self->lang; //輸出本例值 en
$_self_b = context::get('translateService'); //獲取實(shí)例副本
echo $_self_b->lang; //居然輸出的是本例的 en
疑問(wèn)
set 函數(shù)沒(méi)有使用引用類型,為什么修改本例,副本也會(huì)被修改,或者就是引用類型?
public static function set(string $key, $value): void
{
$obj = static::getObject();
$obj->$key = $value;
}
1個(gè)回答