Passed
Push — master ( bd3cb9...127ddb )
by Jean-Christophe
17:45
created

AbstractSession   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 50%

Importance

Changes 0
Metric Value
wmc 2
eloc 5
dl 0
loc 28
ccs 2
cts 4
cp 0.5
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
A getVerifyCsrf() 0 2 1
1
<?php
2
3
namespace Ubiquity\utils\http\session;
4
5
use Ubiquity\utils\http\session\protection\VerifySessionCsrfInterface;
6
use Ubiquity\utils\http\session\protection\VerifyCsrfToken;
7
8
/**
9
 * Ubiquity\utils\http\session$AbstractSession
10
 * This class is part of Ubiquity
11
 *
12
 * @author jcheron <[email protected]>
13
 * @version 1.1.1
14
 *
15
 */
16
abstract class AbstractSession {
17
	protected $name;
18
	protected $verifyCsrf;
19
20 40
	public function __construct(?VerifySessionCsrfInterface $verifyCsrf = null) {
21 40
		$this->verifyCsrf = ($verifyCsrf ??= new VerifyCsrfToken ( $this ));
22
	}
23
24
	abstract public function get($key, $default = null);
25
26
	abstract public function set($key, $value);
27
28
	abstract public function terminate();
29
30
	abstract public function start($name = null);
31
32
	abstract public function isStarted();
33
34
	abstract public function exists($key);
35
36
	abstract public function getAll();
37
38
	abstract public function delete($key);
39
40
	abstract public function visitorCount(): int;
41
42
	public function getVerifyCsrf() {
43
		return $this->verifyCsrf;
44
	}
45
}
46
47