inital commit
[pharext/pharext.org] / app / Session.php
1 <?php
2
3 namespace app;
4
5 use ArrayAccess;
6 use merry\Config;
7
8 class Session implements ArrayAccess
9 {
10 function __construct(Config $config) {
11 foreach ($config->session as $key => $val) {
12 ini_set("session.$key", $val);
13 }
14 session_start();
15 }
16
17 function regenerateId() {
18 session_regenerate_id();
19 return $this;
20 }
21
22 function reset() {
23 $_SESSION = array();
24 session_destroy();
25 return $this;
26 }
27
28 function __debugInfo() {
29 return $_SESSION;
30 }
31
32 function &__get($p) {
33 return $_SESSION[$p];
34 }
35 function &offsetGet($o) {
36 return $_SESSION[$o];
37 }
38 function __set($p, $v) {
39 $_SESSION[$p] = $v;
40 }
41 function offsetSet($o, $v) {
42 $_SESSION[$o] = $v;
43 }
44 function __isset($p) {
45 return isset($_SESSION[$p]);
46 }
47 function offsetExists($o) {
48 return isset($_SESSION[$o]);
49 }
50 function __unset($p) {
51 unset($_SESSION[$p]);
52 }
53 function offsetUnset($o) {
54 unset($_SESSION[$o]);
55 }
56
57 }