簡體   English   中英

會話過期時對象是否被銷毀?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM