[英]Does object get destroyed when session expires?
在我的PHP應用程序中,我定義了一個User_class(具有一些屬性和一些方法,包括__construct()
和__destruct()
)。 我已經從此類實例化了一個對象,並且為了使用它的憑據,我已使用serialize方法將該對象存儲在$_SESSION
超全局$_SESSION
。 _destruct()
方法運行一些私有方法,包括log_out。 我的問題是,會話期滿會銷毀對象嗎?
明確的答案:不,不是。
該對象以字符串形式存儲在會話中,表示所有屬性的當前值,而不是(!)任何方法,構造函數或析構函數。
當會話到期且垃圾回收處於活動狀態時,會話存儲中的其余會話將被刪除。
為了在會話過期后顯式注銷用戶,您需要注冊自己的會話處理程序。
順便說一句:為了將對象存儲在$_SESSION
var中,無需顯式序列化它。 只是$_SESSION['obj'] = $myObj;
足夠-極大地加快了工作速度。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.