[英]PHP store session data in class
我正在將PHP會話變量存儲到數據庫中,並且存在一些問題。 我想知道你們是否可以給我一個更好的解決方案,或者如果我理解上有任何錯誤,請告訴我。 謝謝。
首先,我將用戶輸入存儲在PHP會話變量中。 我還不能將該會話數據插入數據庫,因為我需要等待其他用戶輸入(此輸入將與會話數據同時插入數據庫)。 會話有時間限制(60秒)。 我需要一個臨時存儲會話數據的地方。 如果會話結束,數據將消失。
我認為存儲會話數據的位置將是對象。 也許制作一個類來存儲會話數據。 當用戶提供其他輸入時,請從該對象中提取數據並插入數據庫中。 我沒有在PHP中使用任何面向對象的概念,所以我想知道此過程是否有效。
非常感謝。
我處理會話的方式是使用單例模式:
class Session {
private static $_instance;
private $id;
private $data;
private function __clone() {}
private function __construct() {
session_start();
$this->id = session_id();
$this->data =& $_SESSION;
}
public static function open() {
if ( ! (self::$_instance instanceof self)) {
self::$_instance = new self();
}
return self::$_instance;
}
public function __set($name, $value) {
$this->data[$name] = $value;
}
public function __get($name) {
return isset($this->data[$name]) ? $this->data[$name] : null;
}
}
這樣,您的會話數據將存儲在$ data變量中,並且可以通過重載進行訪問。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.