1: <?php
2: /**
3: * CakePHP(tm) : Rapid Development Framework (http://cakephp.org)
4: * Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
5: *
6: * Licensed under The MIT License
7: * For full copyright and license information, please see the LICENSE.txt
8: * Redistributions of files must retain the above copyright notice.
9: *
10: * @copyright Copyright (c) Cake Software Foundation, Inc. (http://cakefoundation.org)
11: * @link http://cakephp.org CakePHP(tm) Project
12: * @package Cake.Model.Datasource
13: * @since CakePHP(tm) v 2.1
14: * @license http://www.opensource.org/licenses/mit-license.php MIT License
15: */
16:
17: /**
18: * Interface for Session handlers. Custom session handler classes should implement
19: * this interface as it allows CakeSession know how to map methods to session_set_save_handler()
20: *
21: * @package Cake.Model.Datasource.Session
22: */
23: interface CakeSessionHandlerInterface {
24:
25: /**
26: * Method called on open of a session.
27: *
28: * @return bool Success
29: */
30: public function open();
31:
32: /**
33: * Method called on close of a session.
34: *
35: * @return bool Success
36: */
37: public function close();
38:
39: /**
40: * Method used to read from a session.
41: *
42: * @param string $id The key of the value to read
43: * @return mixed The value of the key or false if it does not exist
44: */
45: public function read($id);
46:
47: /**
48: * Helper function called on write for sessions.
49: *
50: * @param int $id ID that uniquely identifies session in database
51: * @param mixed $data The value of the data to be saved.
52: * @return bool True for successful write, false otherwise.
53: */
54: public function write($id, $data);
55:
56: /**
57: * Method called on the destruction of a session.
58: *
59: * @param int $id ID that uniquely identifies session in database
60: * @return bool True for successful delete, false otherwise.
61: */
62: public function destroy($id);
63:
64: /**
65: * Run the Garbage collection on the session storage. This method should vacuum all
66: * expired or dead sessions.
67: *
68: * @param int $expires Timestamp (defaults to current time)
69: * @return bool Success
70: */
71: public function gc($expires = null);
72:
73: }
74: