Completed
Push — master ( 37bc16...2b3d40 )
by Mikael
02:22
created

CSession::get()   A

Complexity

Conditions 3
Paths 4

Size

Total Lines 6
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 12

Importance

Changes 0
Metric Value
cc 3
eloc 4
c 0
b 0
f 0
nc 4
nop 2
dl 0
loc 6
ccs 0
cts 1
cp 0
crap 12
rs 9.4285
1
<?php
2
3
namespace Anax\Session;
4
5
/**
6
 * Anax base class for wrapping sessions.
7
 *
8
 */
9
class CSession
10
{
11
    use \Anax\TConfigure;
12
13
14
15
    /**
16
     * Set a session name or use one from config.
17
     *
18
     * @param array $aName to set as session name, default is null and then use name from config.
19
     */
20 4
    public function name($aName = null)
21
    {
22
        $name = isset($aName)
23 4
            ? $aName
24
            : (isset($this->config['name'])
25
                ? $this->config['name']
26
                : "anax");
27
28
        session_name($name);
29
    }
30
31
32 2
    /**
33
     * Start session.
34 2
     *
35 2
     * @param array $options to configure options.
0 ignored issues
show
Bug introduced by
There is no parameter named $options. Was it maybe removed?

This check looks for PHPDoc comments describing methods or function parameters that do not exist on the corresponding method or function.

Consider the following example. The parameter $italy is not defined by the method finale(...).

/**
 * @param array $germany
 * @param array $island
 * @param array $italy
 */
function finale($germany, $island) {
    return "2:1";
}

The most likely cause is that the parameter was removed, but the annotation was not.

Loading history...
36 2
     */
37 1
    public function start()
38 2
    {
39
        session_start();
40 2
    }
41 2
42
43
44
    /**
45
     * Get values from session.
46
     *
47
     * @param string $key     in session variable.
48
     * @param mixed  $default default value to return when key is not set in session.
49
     *
50
     * @return mixed
51
     */
52
    public function get($key, $default = null)
53
    {
54
        return isset($_SESSION) && isset($_SESSION[$key])
55
            ? $_SESSION[$key]
56
            : $default;
57
    }
58
59
60
61
    /**
62
     * Set values in session.
63
     *
64 1
     * @param string $key   in session variable.
65
     * @param mixed  $value to set in session.
66 1
     *
67 1
     * @return void
68 1
     */
69
    public function set($key, $value)
70
    {
71
        $_SESSION[$key] = $value;
72
    }
73
74
75
76
    /**
77
     * Unset part of session.
78
     *
79
     * @param string $key in session variable.
80
     *
81 1
     * @return void
82
     */
83 1
    public function delete($key)
84 1
    {
85
        unset($_SESSION[$key]);
86
    }
87
88
89
90
    /**
91
     * Check if a value is set in the session.
92
     *
93
     * @param string $key   in session variable.
94
     *
95 1
     * @return boolean true if $key is set, else false.
96
     */
97 1
    public function has($key)
98
    {
99
        return isset($_SESSION[$key]);
100
    }
101
102
103
104
    /**
105
     * Read a value from the session and unset it, a form of read once flash
106
     * memory using the session.
107
     *
108
     * @param string $key in session variable.
109
     *
110
     * @return mixed value from session and null if not set.
111
     */
112
    public function readOnce($key)
113
    {
114
        $read = $this->get($key);
115
        $this->delete($key);
116
        return $read;
117
    }
118
}
119