Middleware   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 23
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
wmc 3
eloc 8
c 2
b 0
f 0
dl 0
loc 23
rs 10

3 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 4 1
A handle() 0 3 1
A add() 0 6 1
1
<?php
2
namespace src;
3
4
use src\PeticionInterface;
0 ignored issues
show
Bug introduced by
The type src\PeticionInterface was not found. Maybe you did not declare it correctly or list all dependencies?

The issue could also be caused by a filter entry in the build configuration. If the path has been excluded in your configuration, e.g. excluded_paths: ["lib/*"], you can move it to the dependency path list as follows:

filter:
    dependency_paths: ["lib/*"]

For further information see https://scrutinizer-ci.com/docs/tools/php/php-scrutinizer/#list-dependency-paths

Loading history...
5
use src\MiddlewareInterface;
6
7
class Middleware
8
{
9
    protected $start;
10
11
    public function __construct()
12
    {
13
        $this->start = function ($peticion) {
14
            return $peticion;
15
        };
16
    }
17
18
    public function add(MiddlewareInterface $midleware)
19
    {
20
        $next = $this->start;
21
22
        $this->start = function (PeticionInterface $peticion) use ($midleware, $next) {
23
            return $midleware($peticion, $next);
24
        };
25
    }
26
27
    public function handle(PeticionInterface $peticion)
28
    {
29
        return call_user_func($this->start, $peticion);
30
    }
31
}
32