📄 xcache.php
字号:
<?php/*** @version $Id:apc.php 6961 2007-03-15 16:06:53Z tcp $* @package Joomla.Framework* @subpackage Session* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.* @license GNU/GPL, see LICENSE.php* Joomla! is free software. This version may have been modified pursuant* to the GNU General Public License, and as distributed it includes or* is derivative of works licensed under the GNU General Public License or* other free or open source software licenses.* See COPYRIGHT.php for copyright notices and details.*/// Check to ensure this file is within the rest of the frameworkdefined('JPATH_BASE') or die();/** * XCache session storage handler * * @package Joomla.Framework * @subpackage Cache * @since 1.5 */class JSessionStorageXcache extends JSessionStorage{ /** * Constructor * * @access protected * @param array $options optional parameters */ function __construct( $options = array() ) { if (!$this->test()) { return JError::raiseError(404, "The xcache extension isn't available"); } parent::__construct($options); } /** * Open the SessionHandler backend. * * @access public * @param string $save_path The path to the session object. * @param string $session_name The name of the session. * @return boolean True on success, false otherwise. */ function open($save_path, $session_name) { return true; } /** * Close the SessionHandler backend. * * @access public * @return boolean True on success, false otherwise. */ function close() { return true; } /** * Read the data for a particular session identifier from the * SessionHandler backend. * * @access public * @param string $id The session identifier. * @return string The session data. */ function read($id) { $sess_id = 'sess_'.$id; //check if id exists if( !xcache_isset( $sess_id ) ){ return; } return (string)xcache_get($sess_id); } /** * Write session data to the SessionHandler backend. * * @access public * @param string $id The session identifier. * @param string $session_data The session data. * @return boolean True on success, false otherwise. */ function write($id, $session_data) { $sess_id = 'sess_'.$id; return xcache_set($sess_id, $session_data, ini_get("session.gc_maxlifetime") ); } /** * Destroy the data for a particular session identifier in the * SessionHandler backend. * * @access public * @param string $id The session identifier. * @return boolean True on success, false otherwise. */ function destroy($id) { $sess_id = 'sess_'.$id; if( !xcache_isset( $sess_id ) ){ return true; } return xcache_unset($sess_id); } /** * Garbage collect stale sessions from the SessionHandler backend. * * @access public * @param integer $maxlifetime The maximum age of a session. * @return boolean True on success, false otherwise. */ function gc($maxlifetime) { return true; } /** * Test to see if the SessionHandler is available. * * @static * @access public * @return boolean True on success, false otherwise. */ function test() { return (extension_loaded('xcache')); }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -