示例#1
0
 /**
  * Конструктор
  *
  * @param	array	$options
  */
 public function __construct($options)
 {
     switch (config('cache.driver')) {
         default:
         case 'Cache_Driver_File':
             $driver = 'Session_Driver_File';
             break;
         case 'Cache_Driver_Memcache':
             $driver = 'Session_Driver_Memcache';
             break;
         case 'Cache_Driver_APC':
             $driver = 'Session_Driver_APC';
             break;
         case 'Cache_Driver_eAccelerator':
             $driver = 'Session_Driver_eAccelerator';
             break;
         case 'Cache_Driver_XCache':
             $driver = 'Session_Driver_XCache';
             break;
     }
     $defaults = array('driver' => $driver, 'save_path' => CACHE . DS . 'sessions', 'path' => CACHE . DS . 'sessions', 'prefix' => 'sessions', 'cookie_domain' => Input_Cookie::getDomain(), 'session_expire' => 3600);
     $options = array_merge($defaults, $options);
     parent::__construct($options);
     foreach (self::$iniOptions as $key => $option) {
         if ($this->options->{$key}) {
             if ($value = $this->options[$key] ? $this->options[$key] : $option) {
                 ini_set('session.' . $key, $value);
             }
             $option && ini_set('session.' . $key, $option);
         }
     }
     session_set_save_handler(array($this->object, 'open'), array($this->object, 'close'), array($this->object, 'read'), array($this->object, 'write'), array($this->object, 'destroy'), array($this->object, 'gc'));
     $this->init();
 }
示例#2
0
 /**
  * Инициалиазация
  *
  * @param array $options
  */
 public function __construct($options = array())
 {
     self::$statistics or self::$statistics = new Core_ArrayObject();
     parent::__construct($options);
 }