Resolver   A
last analyzed

Complexity

Total Complexity 3

Size/Duplication

Total Lines 30
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 3
lcom 0
cbo 1
dl 0
loc 30
ccs 12
cts 12
cp 1
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A resolve() 0 20 3
1
<?php
2
/**
3
 * Slim Framework controller creator (https://github.com/juliangut/slim-controller)
4
 *
5
 * @link https://github.com/juliangut/slim-controller for the canonical source repository
6
 *
7
 * @license https://raw.githubusercontent.com/juliangut/slim-controller/master/LICENSE
8
 */
9
10
namespace Jgut\Slim\Controller;
11
12
use Interop\Container\ContainerInterface;
13
14
class Resolver
15
{
16
    /**
17
     * Create service callbacks.
18
     *
19
     * @param array $controllers
20
     *
21 1
     * @return array
22
     */
23 1
    public static function resolve(array $controllers)
24
    {
25 1
        $callbacks = [];
26 1
27
        foreach ($controllers as $controller) {
28 1
            $qualifiedController = '\\' . trim($controller, '\\');
29 1
30
            $callbacks[$controller] = function (ContainerInterface $container) use ($qualifiedController) {
31 1
                $controller = new $qualifiedController();
32 1
33 1
                if ($controller instanceof Controller) {
34
                    $controller->setContainer($container);
35 1
                }
36
37 1
                return $controller;
38
            };
39 1
        }
40
41
        return $callbacks;
42
    }
43
}
44