假如我在用戶鏈接時(shí)(Events::onConnect里)實(shí)例化了一個(gè)對(duì)象($user=new User(id,name,password))用于從數(shù)據(jù)庫獲取相應(yīng)的數(shù)據(jù),保存在對(duì)象里,當(dāng)用戶斷開鏈接后,怎么銷毀這個(gè)對(duì)象呢?如果不管他,他會(huì)一直在內(nèi)存里。
根據(jù)php變量回收規(guī)則,函數(shù)(包括類方法)里產(chǎn)生的所有變量都是臨時(shí)變量,函數(shù)執(zhí)行完畢變量自動(dòng)釋放。Events::onConnect里產(chǎn)生的User實(shí)例也是一樣,如果你沒把User實(shí)例存儲(chǔ)到類的靜態(tài)成員或者全局變量里,onConnect執(zhí)行完User實(shí)例就自動(dòng)釋放了。如果不確認(rèn)是否釋放了,在User類的__destruct
方法里打印下日志就知道了。