Url::lastModified()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 2
CRAP Score 1

Importance

Changes 0
Metric Value
eloc 1
dl 0
loc 3
ccs 2
cts 2
cp 1
rs 10
c 0
b 0
f 0
cc 1
nc 1
nop 0
crap 1
1
<?php
2
3
namespace PODEntender\SitemapGenerator;
4
5
class Url
6
{
7
    const FREQUENCY_NEVER = 'never';
8
9
    const FREQUENCY_ALWAYS = 'always';
10
11
    const FREQUENCY_HOURLY = 'hourly';
12
13
    const FREQUENCY_DAILY = 'daily';
14
15
    const FREQUENCY_WEEKLY = 'weekly';
16
17
    const FREQUENCY_MONTHLY = 'monthly';
18
19
    const FREQUENCY_YEARLY = 'yearly';
20
21
    private $location;
22
23
    private $lastModified;
24
25
    private $changeFrequency;
26
27
    private $priority;
28
29
    /**
30
     * @todo
31
     * - validate changeFrequency to be one of FREQUENCY_* constants
32
     * - validate priority to be in range 0.0 to 1.0
33
     */
34 7
    public function __construct(
35
        string $location,
36
        ?\DateTimeInterface $lastModified,
37
        ?string $changeFrequency,
38
        ?float $priority
39
    ) {
40 7
        $this->location = $location;
41 7
        $this->lastModified = $lastModified;
42 7
        $this->changeFrequency = $changeFrequency;
43 7
        $this->priority = $priority;
44 7
    }
45
46 7
    public function location(): string
47
    {
48 7
        return $this->location;
49
    }
50
51 7
    public function lastModified(): ?\DateTimeInterface
52
    {
53 7
        return $this->lastModified;
54
    }
55
56 7
    public function changeFrequency(): ?string
57
    {
58 7
        return $this->changeFrequency;
59
    }
60
61 7
    public function priority(): ?float
62
    {
63 7
        return $this->priority;
64
    }
65
}
66