pictcode / lib / Cake / Model / Datasource / Session / CacheSession.php @ 0b1b8047
履歴 | 表示 | アノテート | ダウンロード (2.514 KB)
| 1 | 635eef61 | spyder1211 | <?php
|
|---|---|---|---|
| 2 | /**
|
||
| 3 | * Cache Session save handler. Allows saving session information into Cache.
|
||
| 4 | *
|
||
| 5 | * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
|
||
| 6 | * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||
| 7 | *
|
||
| 8 | * Licensed under The MIT License
|
||
| 9 | * For full copyright and license information, please see the LICENSE.txt
|
||
| 10 | * Redistributions of files must retain the above copyright notice.
|
||
| 11 | *
|
||
| 12 | * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
|
||
| 13 | * @link http://cakephp.org CakePHP(tm) Project
|
||
| 14 | * @package Cake.Model.Datasource.Session
|
||
| 15 | * @since CakePHP(tm) v 2.0
|
||
| 16 | * @license http://www.opensource.org/licenses/mit-license.php MIT License
|
||
| 17 | */
|
||
| 18 | |||
| 19 | App::uses('Cache', 'Cache'); |
||
| 20 | App::uses('CakeSessionHandlerInterface', 'Model/Datasource/Session'); |
||
| 21 | |||
| 22 | /**
|
||
| 23 | * CacheSession provides method for saving sessions into a Cache engine. Used with CakeSession
|
||
| 24 | *
|
||
| 25 | * @package Cake.Model.Datasource.Session
|
||
| 26 | * @see CakeSession for configuration information.
|
||
| 27 | */
|
||
| 28 | class CacheSession implements CakeSessionHandlerInterface { |
||
| 29 | |||
| 30 | /**
|
||
| 31 | * Method called on open of a database session.
|
||
| 32 | *
|
||
| 33 | * @return bool Success
|
||
| 34 | */
|
||
| 35 | public function open() { |
||
| 36 | return true; |
||
| 37 | } |
||
| 38 | |||
| 39 | /**
|
||
| 40 | * Method called on close of a database session.
|
||
| 41 | *
|
||
| 42 | * @return bool Success
|
||
| 43 | */
|
||
| 44 | public function close() { |
||
| 45 | return true; |
||
| 46 | } |
||
| 47 | |||
| 48 | /**
|
||
| 49 | * Method used to read from a database session.
|
||
| 50 | *
|
||
| 51 | * @param string $id The key of the value to read
|
||
| 52 | * @return mixed The value of the key or false if it does not exist
|
||
| 53 | */
|
||
| 54 | public function read($id) { |
||
| 55 | return Cache::read($id, Configure::read('Session.handler.config')); |
||
| 56 | } |
||
| 57 | |||
| 58 | /**
|
||
| 59 | * Helper function called on write for database sessions.
|
||
| 60 | *
|
||
| 61 | * @param int $id ID that uniquely identifies session in database
|
||
| 62 | * @param mixed $data The value of the data to be saved.
|
||
| 63 | * @return bool True for successful write, false otherwise.
|
||
| 64 | */
|
||
| 65 | public function write($id, $data) { |
||
| 66 | return Cache::write($id, $data, Configure::read('Session.handler.config')); |
||
| 67 | } |
||
| 68 | |||
| 69 | /**
|
||
| 70 | * Method called on the destruction of a database session.
|
||
| 71 | *
|
||
| 72 | * @param int $id ID that uniquely identifies session in cache
|
||
| 73 | * @return bool True for successful delete, false otherwise.
|
||
| 74 | */
|
||
| 75 | public function destroy($id) { |
||
| 76 | return Cache::delete($id, Configure::read('Session.handler.config')); |
||
| 77 | } |
||
| 78 | |||
| 79 | /**
|
||
| 80 | * Helper function called on gc for cache sessions.
|
||
| 81 | *
|
||
| 82 | * @param int $expires Timestamp (defaults to current time)
|
||
| 83 | * @return bool Success
|
||
| 84 | */
|
||
| 85 | public function gc($expires = null) { |
||
| 86 | return Cache::gc(Configure::read('Session.handler.config'), $expires); |
||
| 87 | } |
||
| 88 | |||
| 89 | } |