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

AbstractSession::regenerateId()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 2
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 2

Importance

Changes 0
Metric Value
eloc 1
c 0
b 0
f 0
dl 0
loc 2
ccs 0
cts 2
cp 0
rs 10
cc 1
nc 1
nop 1
crap 2
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