Passed
Push — master ( 78312e...d7519e )
by Radu
01:19
created

Cookie   A

Complexity

Total Complexity 5

Size/Duplication

Total Lines 36
Duplicated Lines 0 %

Importance

Changes 0
Metric Value
dl 0
loc 36
rs 10
c 0
b 0
f 0
wmc 5

3 Methods

Rating   Name   Duplication   Size   Complexity  
A get() 0 3 2
A set() 0 17 1
A remove() 0 9 2
1
<?php
2
namespace WebServCo\Framework\Libraries;
3
4
use WebServCo\Framework\RequestUtils as Utils;
5
6
final class Cookie extends \WebServCo\Framework\AbstractLibrary
7
{
8
    public function set(
9
        $name,
10
        $value = '',
11
        $expire = 0,
12
        $path = '',
13
        $domain = '',
14
        $secure = false,
15
        $httponly = false
16
    ) {
17
        return setcookie(
18
            $name,
19
            Utils::sanitizeString($value),
20
            $expire,
21
            $path,
22
            $domain,
23
            $secure,
24
            $httponly
25
        );
26
    }
27
    
28
    public function get($name, $defaultValue = false)
29
    {
30
        return isset($_COOKIE[$name]) ? $_COOKIE[$name] : $defaultValue;
31
    }
32
    
33
    public function remove($name)
34
    {
35
        if (!isset($_COOKIE[$name])) {
36
            return false;
37
        }
38
        
39
        unset($_COOKIE[$name]);
40
        $this->set($name, false, -1);
41
        return true;
42
    }
43
}
44