/** * @param Resources $mvc * http://localhost/dev/okapi/test/instance/session */ public function sessionAction(Resources $mvc) { /* @var $sess Session */ $req = $mvc->get('request'); $uri = $mvc->helper('uri'); $sess = $mvc('session'); $post = $mvc->input('POST'); $ttl = $mvc->config('php.session.gc_maxlifetime'); if ($req->isMethod('POST')) { $action = $post->get('action'); if ($action == 'open') { $sess->open('Testinator'); $sess['content'] = $post->get('content'); } else { $sess->resume(); } if ($action == 'close') { $sess->close(); } elseif ($action == 'update') { $sess['content'] = $post->get('content'); } } else { $sess->resume(); } $content = isset($sess['content']) ? $sess['content'] : null; return ['base' => $uri->route('tests', ['action' => 'session', '**' => '']), 'content' => $content, 'ttl' => $ttl, 'dump' => $this->jsonDump($sess->data())]; }