10 class Session
implements ArrayAccess
12 function __construct(Config
$config, BaseUrl
$baseUrl, Request
$request, Response
$response, Logger
$logger) {
13 ini_set("session.cookie_path", $baseUrl->path
);
14 foreach ($config->session
as $key => $val) {
15 ini_set("session.$key", $val);
17 if (ini_get("session.use_cookies")) {
18 $response->addHeader("Vary", "cookie");
20 $response->addHeader("Cache-Control",
23 "must-revalidate" => true,
24 "max-age" => ini_get("session.cache_expire") * 60
28 $logger->debug(session_id(), [
29 "url" => $request->getRequestUrl(),
33 function regenerateId() {
34 session_regenerate_id();
44 function __debugInfo() {
51 function &offsetGet($o) {
54 function __set($p, $v) {
57 function offsetSet($o, $v) {
60 function __isset($p) {
61 return isset($_SESSION[$p]);
63 function offsetExists($o) {
64 return isset($_SESSION[$o]);
66 function __unset($p) {
69 function offsetUnset($o) {