Passed
Push — master ( e8f56b...3a2a94 )
by Jean-Christophe
23:12
created

AbstractSession   A

Complexity

Total Complexity 3

Size/Duplication

Total Lines 37
Duplicated Lines 0 %

Test Coverage

Coverage 33.33%

Importance

Changes 0
Metric Value
wmc 3
eloc 6
c 0
b 0
f 0
dl 0
loc 37
ccs 2
cts 6
cp 0.3333
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 2 1
A regenerateId() 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.3
14
 *
15
 */
16
abstract class AbstractSession {
17
	protected ?string $name;
18
	protected VerifySessionCsrfInterface $verifyCsrf;
19
20 41
	public function __construct(?VerifySessionCsrfInterface $verifyCsrf = null) {
21 41
		$this->verifyCsrf = ($verifyCsrf ??= new VerifyCsrfToken ( $this ));
22
	}
23
24
	abstract public function get(string $key, $default = null);
25
26
	abstract public function set(string $key, $value);
27
28
	abstract public function terminate(): void;
29
30
	abstract public function start(string $name = null);
31
32
	abstract public function isStarted(): bool;
33
34
	abstract public function exists(string $key): bool;
35
36
	abstract public function getAll(): array;
37
38
	abstract public function delete(string $key);
39
40
	abstract public function visitorCount(): int;
41
	
42
	/**
43
	 * Re-generates the session id.
44
	 * @param boolean $deleteOldSession if true, deletes the old session
45
	 * @return bool
46
	 */
47
	public function regenerateId(bool $deleteOldSession=false): bool {
48
		return false;
49
	}
50
51
	public function getVerifyCsrf(): VerifySessionCsrfInterface {
52
		return $this->verifyCsrf;
53
	}
54
}
55
56