/libraries/vendor/joomla/session/Joomla/Session/Storage/Memcache.php
https://gitlab.com/vitaliylukin91/idea-rating · PHP · 72 lines · 29 code · 7 blank · 36 comment · 2 complexity · de98f5e708e3a1188775e8baadab8ed7 MD5 · raw file
- <?php
- /**
- * Part of the Joomla Framework Session Package
- *
- * @copyright Copyright (C) 2005 - 2015 Open Source Matters, Inc. All rights reserved.
- * @license GNU General Public License version 2 or later; see LICENSE
- */
- namespace Joomla\Session\Storage;
- use Joomla\Session\Storage;
- /**
- * Memcache session storage handler for PHP
- *
- * @since 1.0
- * @deprecated The joomla/session package is deprecated
- */
- class Memcache extends Storage
- {
- /**
- * Constructor
- *
- * @param array $options Optional parameters.
- *
- * @since 1.0
- * @throws \RuntimeException
- */
- public function __construct($options = array())
- {
- if (!self::isSupported())
- {
- throw new \RuntimeException('Memcache Extension is not available', 404);
- }
- parent::__construct($options);
- // This will be an array of loveliness
- // @todo: multiple servers
- $this->_servers = array(
- array(
- 'host' => isset($options['memcache_server_host']) ? $options['memcache_server_host'] : 'localhost',
- 'port' => isset($options['memcache_server_port']) ? $options['memcache_server_port'] : 11211
- )
- );
- }
- /**
- * Register the functions of this class with PHP's session handler
- *
- * @return void
- *
- * @since 1.0
- */
- public function register()
- {
- ini_set('session.save_path', $this->_servers[0]['host'] . ':' . $this->_servers[0]['port']);
- ini_set('session.save_handler', 'memcache');
- }
- /**
- * Test to see if the SessionHandler is available.
- *
- * @return boolean True on success, false otherwise.
- *
- * @since 1.0
- */
- static public function isSupported()
- {
- return (extension_loaded('memcache') && class_exists('Memcache'));
- }
- }