session_lib   A
last analyzed

Complexity

Total Complexity 7

Size/Duplication

Total Lines 34
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
eloc 12
dl 0
loc 34
rs 10
c 0
b 0
f 0
wmc 7

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 3 2
A flash_set() 0 5 2
A flash_get() 0 9 3
1
<?php
2
3
class session_lib extends Library {
4
5
    public function __construct() {
6
        if (session_status() == PHP_SESSION_NONE) {
7
            session_start();
8
        }
9
    }
10
11
    /**
12
     * Set flash data
13
     * @param string $name
14
     * @param mixed  $value
15
     */
16
    public function flash_set($name, $value) {
17
        if (!isset($_SESSION["_flashdata"])) {
18
            $_SESSION["_flashdata"] = [];
19
        }
20
        $_SESSION["_flashdata"][$name] = $value;
21
    }
22
23
    /**
24
     * Get and unset flash data
25
     * @param  string     $name
26
     * @return mixed|null       Value of the set flashed data
27
     */
28
    public function flash_get($name) {
29
        if (!isset($_SESSION["_flashdata"])
30
            || !isset($_SESSION["_flashdata"][$name])
31
        ) {
32
            return null;
33
        }
34
        $value = $_SESSION["_flashdata"][$name];
35
        unset($_SESSION["_flashdata"][$name]);
36
        return $value;
37
    }
38
}
39