Completed
Push — master ( 88d4e7...879ddc )
by Pierre
17:36 queued 14:17
created

Cookie::refreshCookie()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 3
CRAP Score 1

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 0
dl 0
loc 4
ccs 3
cts 3
cp 1
crap 1
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace App\Component\Http;
4
5
use App\Component\Http\Interfaces\ICookie;
6
7
class Cookie implements ICookie
8
{
9
10
    protected $cookie;
11
12
    /**
13
     * instanciate
14
     */
15 4
    public function __construct()
16
    {
17 4
        $this->refreshCookie();
18
    }
19
20
    /**
21
     * get cookie value from cookie name
22
     *
23
     * @param string $name
24
     * @return string
25
     */
26 1
    public function getCookie(string $name): string
27
    {
28 1
        return (isset($this->cookie[$name])) ? $this->cookie[$name] : '';
29
    }
30
31
    /**
32
     * set cookie value for cookie name and ttl
33
     *
34
     * @param string $name
35
     * @param string $value
36
     * @param integer $ttl
37
     * @return Cookie
38
     */
39 1
    public function setCookie(string $name, string $value, int $ttl): Cookie
40
    {
41 1
        setcookie($name, $value, time() + $ttl);
42 1
        return $this->refreshCookie();
43
    }
44
45
    /**
46
     * refresh cookie from global
47
     *
48
     * @return Cookie
49
     */
50 1
    protected function refreshCookie(): Cookie
51
    {
52 1
        $this->cookie = $_COOKIE;
53 1
        return $this;
54
    }
55
}
56