【PHP工具類】SESSION
阿新 • • 發佈:2018-12-25
author:咔咔
wechat:fangkangfk
<?php namespace data\util; use Session; /** * 工具類 * 使用者快取 facade代理 SC */ class SC { /** * 使用者登入的session key */ CONST LOGIN_MARK_SESSION_KEY = 'LOGIN_MARK_SESSION'; /** * 許可權資訊 * @var string */ CONST USER_ROLE_SESSION = 'USER_ROLE_SESSION'; /** * USER使用者資訊 * @var string1 */ CONST USER_INFO_SESSION = 'USER_INFO_SESSION'; /** * 使用者是否是系統後臺使用者 */ CONST USER_IS_SYSTEM_SESSION = 'USER_IS_SYSTEM_SESSION'; // /** // * 是否設定使用者登入的有效時間 // * @var string // */ // CONST CHECK_TIME_SESSION = 'CHECK_TIME_SESSION'; // // private $checkTime = false; //---------------------------設定和判斷使用者的是否登入 // 設定使用者登入token public function setLogin($value) { Session::set(self::LOGIN_MARK_SESSION_KEY, password_hash($value, 1)); } // 判斷使用者是否登入成功 public function getLogin() { return Session::get(self::LOGIN_MARK_SESSION_KEY); } //---------------------------設定使用者和獲取使用者的登入資訊 // 設定使用者的資訊 public function setUserInfo($value) { Session::set(self::USER_INFO_SESSION, $value); } // 獲取使用者的資訊 public function getUserInfo($value = null) { $userInfo = Session::get(self::USER_INFO_SESSION); // 這裡做這個判斷是因為在驗證token時需要使用者的id return ($value) ? $userInfo[$value] : $userInfo; } //--------------------------設定和獲取使用者的許可權 // 設定使用者的角色 public function setUserRole($value) { Session::set(self::USER_ROLE_SESSION, $value); } // 獲取使用者的角色 public function getUserRole() { return Session::get(self::USER_ROLE_SESSION); } //--------------------------設定和獲取使用者是否是系統後臺使用者 /** * 設定使用者是否為後臺系統使用者 * @access public * @param boolean $value 使用者是後臺使用者為true,反正false */ public function setIsSystem($value) { Session::set(self::USER_IS_SYSTEM_SESSION,$value); } /** * 獲取使用者是否是後臺使用者 * @access public * @return array */ public function getIsSystem() { return Session::get(self::USER_IS_SYSTEM_SESSION); } //-------------------------使用者退出清空使用者快取資訊 // 退出登入 public function clear() { Session::del(self::USER_INFO_SESSION); Session::del(self::USER_ROLE_SESSION); Session::del(self::LOGIN_MARK_SESSION_KEY); } }