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

RouterFactory::__invoke()   B

Complexity

Conditions 2
Paths 2

Size

Total Lines 26
Code Lines 13

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 26
rs 8.8571
c 0
b 0
f 0
cc 2
eloc 13
nc 2
nop 3
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
}