Passed
Pull Request — master (#30)
by Nícollas
01:59
created

Router::middleware()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 5
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 2
nc 1
nop 1
dl 0
loc 5
rs 10
c 0
b 0
f 0
1
<?php
2
3
namespace CoffeeCode\Router;
4
5
/**
6
 * Class CoffeeCode Router
7
 *
8
 * @author Robson V. Leite <https://github.com/robsonvleite>
9
 * @package CoffeeCode\Router
10
 */
11
class Router extends Dispatch
12
{
13
    /**
14
     * Router constructor.
15
     *
16
     * @param string $projectUrl
17
     * @param null|string $separator
18
     */
19
    public function __construct(string $projectUrl, ?string $separator = ":")
20
    {
21
        parent::__construct($projectUrl, $separator);
22
    }
23
24
    /**
25
     * @param string|array $middleware
26
     */
27
    public function middleware($middleware): Router
28
    {
29
        $this->middlewares($middleware);
30
31
        return $this;
32
    }
33
34
    /**
35
     * @param string $route
36
     * @param $handler
37
     * @param string|null $name
38
     */
39
    public function post(string $route, $handler, string $name = null): void
40
    {
41
        $this->addRoute("POST", $route, $handler, $name)->resetMiddlewares();
42
    }
43
44
    /**
45
     * @param string $route
46
     * @param $handler
47
     * @param string|null $name
48
     */
49
    public function get(string $route, $handler, string $name = null): void
50
    {
51
        $this->addRoute("GET", $route, $handler, $name)->resetMiddlewares();
52
    }
53
54
    /**
55
     * @param string $route
56
     * @param $handler
57
     * @param string|null $name
58
     */
59
    public function put(string $route, $handler, string $name = null): void
60
    {
61
        $this->addRoute("PUT", $route, $handler, $name)->resetMiddlewares();
62
    }
63
64
    /**
65
     * @param string $route
66
     * @param $handler
67
     * @param string|null $name
68
     */
69
    public function patch(string $route, $handler, string $name = null): void
70
    {
71
        $this->addRoute("PATCH", $route, $handler, $name)->resetMiddlewares();
72
    }
73
74
    /**
75
     * @param string $route
76
     * @param $handler
77
     * @param string|null $name
78
     */
79
    public function delete(string $route, $handler, string $name = null): void
80
    {
81
        $this->addRoute("DELETE", $route, $handler, $name)->resetMiddlewares();
82
    }
83
}