国产+高潮+在线,国产 av 仑乱内谢,www国产亚洲精品久久,51国产偷自视频区视频,成人午夜精品网站在线观看

求助 session無法保存對象變量修改的內(nèi)容如何解決

skygw

我在onConnect方法內(nèi)實例化了一個對象并保存到session了,然后再onMessage方法里面修改了這個對象的一個屬性,但是下次再訪問的時候這個屬性依然沒有被修改的,也就是保存不了onMessage方法所做出的改動。比如:
function onConnect($client_id){
$an=new MyAnimal();
$an->name="狗熊";
$_SESSION['animal']=$an;
}

function onMessage($message){
$an=$_SESSION['animal'];
$an->name="熊貓";
}

function onClose(){
echo $_SESSION['animal']->name;//還是輸出“狗熊”,在onMessage方法修改的內(nèi)容并沒有被保存。
}

有看到說gateway只是復(fù)制了一份傳遞給Business,所以原來的類已經(jīng)被釋放了。那像我這種需求應(yīng)該怎么實現(xiàn)比較適合呢,感謝。

1134 2 0
2個回答

nitron
function onMessage($message){
    $arr = $_SESSION['animal'];
    $arr->name = 'xxx';// 你這里修改的是$arr....不是SESSION
    $_SESSION['animal'] = $arr // 這里才是修改SESSION
}

........你是怎么學(xué)的PHP?

  • 暫無評論
稚出

變量的賦值是傳值不是傳址

  • skygw 2022-09-26

    PHP的對象不是傳址的嗎?用PHP比較少。

  • skygw 2022-09-26

    而且……按照你說的,用$_SESSION['animal']->name="xxx";也沒有保存,下次請求依然是之前的值。

年代過于久遠,無法發(fā)表回答
??