Code Coverage
 
Lines
Branches
Paths
Functions and Methods
Classes and Traits
Total
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
CRAP
100.00% covered (success)
100.00%
1 / 1
AddsMiddleware
100.00% covered (success)
100.00%
5 / 5
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
100.00% covered (success)
100.00%
3 / 3
3
100.00% covered (success)
100.00%
1 / 1
 middleware
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 getMiddleware
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
 replaceMiddleware
100.00% covered (success)
100.00%
2 / 2
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
100.00% covered (success)
100.00%
1 / 1
1
1<?php
2
3declare(strict_types=1);
4
5namespace Celemas\Router;
6
7use Psr\Http\Server\MiddlewareInterface as Middleware;
8
9trait AddsMiddleware
10{
11    /** @var list<Middleware> */
12    protected array $middleware = [];
13
14    public function middleware(Middleware ...$middleware): static
15    {
16        $this->middleware = array_merge($this->middleware, array_values($middleware));
17
18        return $this;
19    }
20
21    /**
22     * @internal
23     * @return list<Middleware>
24     */
25    public function getMiddleware(): array
26    {
27        return $this->middleware;
28    }
29
30    /**
31     * @internal
32     * @param list<Middleware> $middleware
33     */
34    public function replaceMiddleware(array $middleware): static
35    {
36        $this->middleware = $middleware;
37
38        return $this;
39    }
40}