Passed
Pull Request — master (#117)
by Rustam
02:18
created

CurrentRoute   A

Complexity

Total Complexity 4

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Test Coverage

Coverage 100%

Importance

Changes 1
Bugs 0 Features 0
Metric Value
eloc 7
c 1
b 0
f 0
dl 0
loc 41
ccs 9
cts 9
cp 1
rs 10
wmc 4

4 Methods

Rating   Name   Duplication   Size   Complexity  
A getRoute() 0 3 1
A setRoute() 0 3 1
A setUri() 0 3 1
A getUri() 0 3 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Yiisoft\Router;
6
7
use Psr\Http\Message\UriInterface;
8
9
/**
10
 * Holds information about current route e.g. matched last.
11
 */
12
final class CurrentRoute
13
{
14
    private ?RouteParametersInterface $route = null;
15
    /**
16
     * Current URI
17
     *
18
     * @var UriInterface|null
19
     */
20
    private ?UriInterface $uri = null;
21
22
    /**
23
     * Returns the current Route object
24
     *
25
     * @return RouteParametersInterface|null current route
26
     */
27 1
    public function getRoute(): ?RouteParametersInterface
28
    {
29 1
        return $this->route;
30
    }
31
32
    /**
33
     * Returns current URI
34
     *
35
     * @return UriInterface|null current URI
36
     */
37 1
    public function getUri(): ?UriInterface
38
    {
39 1
        return $this->uri;
40
    }
41
42 1
    public function setRoute(RouteParametersInterface $route): void
43
    {
44 1
        $this->route = $route;
45 1
    }
46
47
    /**
48
     * @param UriInterface|null $uri
49
     */
50 1
    public function setUri(?UriInterface $uri): void
51
    {
52 1
        $this->uri = $uri;
53 1
    }
54
}
55