函數(shù)名:SessionHandlerInterface::close()
適用版本:PHP 5 >= 5.4.0, PHP 7
函數(shù)說明:close() 方法在會話結(jié)束時被調(diào)用,用于關(guān)閉會話的存儲。該方法在會話被顯式關(guān)閉或腳本執(zhí)行完畢時被調(diào)用。
用法示例:
<?php
class MySessionHandler implements SessionHandlerInterface {
public function open($savePath, $sessionName) {
// 連接到會話存儲,準(zhǔn)備會話的讀寫操作
// 返回 true 表示成功,否則返回 false
return true;
}
public function close() {
// 關(guān)閉會話存儲連接或進行其他關(guān)閉操作
// 無需返回值
}
public function read($sessionId) {
// 從會話存儲中讀取指定會話 ID 的數(shù)據(jù)
// 返回會話數(shù)據(jù)的字符串形式
}
public function write($sessionId, $sessionData) {
// 將指定會話 ID 的數(shù)據(jù)寫入會話存儲
// 無需返回值
}
public function destroy($sessionId) {
// 銷毀指定會話 ID 的數(shù)據(jù)
// 無需返回值
}
public function gc($maxLifetime) {
// 清理過期的會話數(shù)據(jù)
// 無需返回值
}
}
// 注冊自定義會話處理器
$handler = new MySessionHandler();
session_set_save_handler($handler, true);
// 打開會話
session_start();
// 進行其他會話操作
// 關(guān)閉會話
session_write_close();
在上面的示例中,我們自定義了一個實現(xiàn)了 SessionHandlerInterface 接口的類 MySessionHandler。在 close() 方法中,我們可以關(guān)閉會話存儲的連接或進行其他關(guān)閉操作。在使用自定義會話處理器時,我們需要通過 session_set_save_handler() 函數(shù)將其注冊為會話處理器。
注意:在調(diào)用 close() 方法后,會話數(shù)據(jù)將不再被修改,因此應(yīng)避免在該方法中對會話數(shù)據(jù)進行寫操作。如果需要修改會話數(shù)據(jù),應(yīng)當(dāng)在 write() 方法中進行。