Routes   A
last analyzed

Complexity

Total Complexity 1

Size/Duplication

Total Lines 48
Duplicated Lines 0 %

Coupling/Cohesion

Components 0
Dependencies 11

Test Coverage

Coverage 0%

Importance

Changes 0
Metric Value
wmc 1
lcom 0
cbo 11
dl 0
loc 48
ccs 0
cts 31
cp 0
rs 10
c 0
b 0
f 0

1 Method

Rating   Name   Duplication   Size   Complexity  
A collections() 0 45 1
1
<?php
2
/**
3
 * Created by PhpStorm.
4
 * User: harry
5
 * Date: 2/12/18
6
 * Time: 4:21 PM
7
 */
8
9
namespace PhpBootstrap;
10
11
use League\Container\Container;
12
use League\Route\RouteGroup;
13
use PhpBootstrap\Controller\HelloWorld;
14
use PhpBootstrap\Middleware\DummyTokenChecker;
15
use PhpBootstrap\Contracts\Response;
16
use PhpBootstrap\Middleware\Response\applicationJSON;
17
use PhpBootstrap\Middleware\Response\textHTML;
18
use Psr\Http\Message\ServerRequestInterface;
19
use League\Route\RouteCollection;
20
21
class Routes
22
{
23
    final public static function collections(
24
        RouteCollection $route,
25
        Container $container
26
    ) {
27
        /**
28
         * Content-Type: application/json
29
         */
30
        $route->group('', function (RouteGroup $route) use ($container) {
31
            $route->map(
32
                'GET',
33
                '/',
34
                function (ServerRequestInterface $request, Response $response) {
35
                    return $response->withArray(['Hello' => 'World']);
36
                }
37
            );
38
39
            $route->map(
40
                'GET',
41
                '/hello/{name}',
42
                [
43
                    new HelloWorld(
44
                        $container->addServiceProvider(new \PhpBootstrap\ServiceProviders\Controller\HelloWorld)
45
                    ),
46
                    'sayHi'
47
                ]
48
            )->middleware(new DummyTokenChecker());
49
50
        })->middleware(new applicationJSON());
51
52
        /**
53
         * Content-Type: text/html
54
         */
55
        $route->group('', function (RouteGroup $route) use ($container) {
56
57
            $route->map(
58
                'GET',
59
                '/html',
60
                function (ServerRequestInterface $request, Response $response) {
61
                    $response->getBody()->write('<h1>Home Page!</h1>');
62
                    return $response->withStatus(200);
63
                }
64
            );
65
66
        })->middleware(new textHTML());
67
    }
68
}