Test Failed
Push — master ( 260f64...3b7304 )
by Mehmet
04:12
created

RouterFactory   A

Complexity

Total Complexity 2

Size/Duplication

Total Lines 29
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 4

Importance

Changes 0
Metric Value
wmc 2
lcom 0
cbo 4
dl 0
loc 29
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
B __invoke() 0 26 2
1
<?php
2
declare(strict_types=1);
3
4
namespace SelamiApp\Factories;
5
6
use Zend\ServiceManager\Factory\FactoryInterface;
7
use Interop\Container\ContainerInterface;
8
use Psr\Http\Message\ServerRequestInterface;
9
use Selami\Router;
10
11
class RouterFactory implements FactoryInterface
12
{
13
    public function __invoke(ContainerInterface $container, $requestedName, array $options = null)
14
    {
15
        /**
16
         * @var array $config
17
         */
18
        $config = $container->get('config');
19
        /**
20
         * @var array $routes
21
         */
22
        $routes = $container->get('routes');
23
        /**
24
         * @var ServerRequestInterface $request
25
         */
26
        $request = $container->get(ServerRequestInterface::class);
27
        $router = new Router(
28
            $config['app']['default_return_type'] ?? Router::HTML,
29
            $request->getMethod(),
30
            $request->getUri()->getPath(),
31
            '',
32
            $config['app']['cache_file']
33
        );
34
        foreach ($routes as $route) {
35
            $router->add($route[0], $route[1], $route[2], $route[3], $route[4] ?? '');
36
        }
37
        return $router;
38
    }
39
}