Passed
Push — master ( d7f029...202469 )
by Jean-Christophe
15:08
created

AbstractSession   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 28
Duplicated Lines 0 %

Test Coverage

Coverage 60%

Importance

Changes 1
Bugs 0 Features 1
Metric Value
wmc 2
eloc 5
c 1
b 0
f 1
dl 0
loc 28
ccs 3
cts 5
cp 0.6
rs 10

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 34
	public function __construct(?VerifySessionCsrfInterface $verifyCsrf = null) {
21 34
		$this->verifyCsrf = ($verifyCsrf ??= new VerifyCsrfToken ( $this ));
22 34
	}
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