1: <?php
2: /**
3: * Created by PhpStorm.
4: * User: shakti
5: * Date: 12/22/16
6: * Time: 4:53 PM
7: */
8: namespace Core\Session;
9: use Aura\Session\SessionFactory;
10:
11: class Session
12: {
13: /**
14: * Session constructor.
15: */
16: protected function __construct()
17: {
18:
19: }
20:
21: /**
22: * Initialize Session Library
23: * @return \Aura\Session\Segment
24: */
25: private static function init()
26: {
27: $session_factory = new SessionFactory;
28: $session = $session_factory->newInstance($_COOKIE);
29: $session->setCookieParams(array('lifetime' => $_ENV['session_life']));
30: $session->setName($_ENV['session_prefix'].'session');
31: $segment = $session->getSegment('Vendor\Package\ClassName');
32: return $segment;
33: }
34:
35: /**
36: * Set session Data
37: * @param $key
38: * @param $value
39: */
40: public static function set($key, $value)
41: {
42: $segment = self::init();
43: $segment->set($key, $value);
44: }
45:
46: /**
47: * Get session Data
48: * @param null $key
49: * @return mixed
50: */
51: public static function get($key=null)
52: {
53: $segment = self::init();
54: if($key==null)
55: {
56:
57: }
58: else
59: {
60: return $segment->get($key);
61: }
62: }
63:
64: /**
65: * Checks if session has data
66: * @param $key
67: * @return bool
68: */
69: public static function has($key)
70: {
71: $segment = self::init();
72: if($segment->get($key) == null)
73: {
74: return false;
75: }
76: else
77: {
78: return true;
79: }
80: }
81: }