pictcode / lib / Cake / Model / Datasource / Session / CacheSession.php @ 1a69c38c
履歴 | 表示 | アノテート | ダウンロード (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 | }  |