我在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)比較適合呢,感謝。
function onMessage($message){
$arr = $_SESSION['animal'];
$arr->name = 'xxx';// 你這里修改的是$arr....不是SESSION
$_SESSION['animal'] = $arr // 這里才是修改SESSION
}
........你是怎么學(xué)的PHP?