Passed
Push — master ( ebf18b...4b10cf )
by Alexander
13:09
created

RouterFactory::__set_state()   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
eloc 1
c 1
b 0
f 0
dl 0
loc 3
rs 10
cc 1
nc 1
nop 1
1
<?php
2
namespace Yiisoft\Router;
3
4
use Psr\Container\ContainerInterface;
0 ignored issues
show
Bug introduced by
The type Psr\Container\ContainerInterface 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
6
class RouterFactory
7
{
8
    private $engineFactory;
9
    private $routes;
10
11
    public function __construct(callable $engineFactory, $routes = [])
12
    {
13
        $this->engineFactory = $engineFactory;
14
        $this->routes = $routes;
15
    }
16
17
    public function __invoke(ContainerInterface $container): RouterInterface
18
    {
19
        $factory = $this->engineFactory;
20
        /* @var $router RouterInterface */
21
        $router = $factory($container);
22
        foreach ($this->routes as $route) {
23
            $router->addRoute($route);
24
        }
25
        return $router;
26
    }
27
}
28