Passed
Branch master (1ac090)
by Hong
02:12
created

Result::getHandler()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 3
Code Lines 1

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 1
c 1
b 0
f 0
nc 1
nop 0
dl 0
loc 3
rs 10
1
<?php
2
3
/**
4
 * Phoole (PHP7.2+)
5
 *
6
 * @category  Library
7
 * @package   Phoole\Route
8
 * @copyright Copyright (c) 2019 Hong Zhang
9
 */
10
declare(strict_types=1);
11
12
namespace Phoole\Route\Util;
13
14
use Psr\Http\Message\ResponseInterface;
15
use Psr\Http\Message\ServerRequestInterface;
16
use Psr\Http\Server\RequestHandlerInterface;
17
18
/**
19
 * Result
20
 *
21
 * @package Phoole\Route
22
 */
23
class Result
24
{
25
    /**
26
     * @var Route the matched route
27
     */
28
    protected $route;
29
30
    /**
31
     * @var ServerRequestInterface
32
     */
33
    protected $request;
34
35
    /**
36
     * @var mixed
37
     */
38
    protected $handler;
39
40
    /**
41
     * @param  ServerRequestInterface $request
42
     */
43
    public function __construct(ServerRequestInterface $request)
44
    {
45
        $this->setRequest($request);
46
    }
47
48
    /**
49
     * @param  Route $route
50
     * @return $this
51
     */
52
    public function setRoute(Route $route): Result
53
    {
54
        $this->route = $route;
55
        return $this;
56
    }
57
58
    /**
59
     * @return Route
60
     */
61
    public function getRoute(): Route
62
    {
63
        return $this->route;
64
    }
65
66
    /**
67
     * @param  ServerRequestInterface $request
68
     * @return $this
69
     */
70
    public function setRequest(ServerRequestInterface $request): Result
71
    {
72
        $this->request = $request;
73
        return $this;
74
    }
75
76
    /**
77
     * @return ServerRequestInterface
78
     */
79
    public function getRequest(): ServerRequestInterface
80
    {
81
        return $this->request;
82
    }
83
84
    /**
85
     * @param  mixed $handler
86
     * @return Result
87
     */
88
    public function setHandler($handler): Result
89
    {
90
        $this->handler = $handler;
91
        return $this;
92
    }
93
94
    /**
95
     * @return mixed
96
     */
97
    public function getHandler()
98
    {
99
        return $this->handler;
100
    }
101
102
    /**
103
     * @return bool
104
     */
105
    public function isMatched(): bool
106
    {
107
        if ($this->route) {
108
            return true;
109
        }
110
        return false;
111
    }
112
}
113