ControllerDecorator   A
last analyzed

Complexity

Total Complexity 2

Size/Duplication

Total Lines 41
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Test Coverage

Coverage 100%

Importance

Changes 0
Metric Value
wmc 2
lcom 1
cbo 1
dl 0
loc 41
ccs 8
cts 8
cp 1
rs 10
c 0
b 0
f 0

2 Methods

Rating   Name   Duplication   Size   Complexity  
A __construct() 0 6 1
A decorate() 0 4 1
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Nastoletni\Code\UserInterface\Controller;
6
7
use Slim\Interfaces\RouterInterface;
8
use Slim\Views\Twig;
9
use Symfony\Component\HttpFoundation\Session\Session;
10
11
class ControllerDecorator
12
{
13
    /**
14
     * @var Twig
15
     */
16
    private $twig;
17
18
    /**
19
     * @var RouterInterface
20
     */
21
    private $router;
22
23
    /**
24
     * @var Session
25
     */
26
    private $session;
27
28
    /**
29
     * ControllerDecorator constructor.
30
     *
31
     * @param Twig            $twig
32
     * @param RouterInterface $router
33
     * @param Session         $session
34
     */
35 1
    public function __construct(Twig $twig, RouterInterface $router, Session $session)
36
    {
37 1
        $this->twig = $twig;
38 1
        $this->router = $router;
39 1
        $this->session = $session;
40 1
    }
41
42
    /**
43
     * Decorates controller with common to all controllers dependencies.
44
     *
45
     * @param AbstractController $controller
46
     */
47 1
    public function decorate(AbstractController $controller): void
48
    {
49 1
        $controller->pseudoConstructor($this->twig, $this->router, $this->session);
50 1
    }
51
}
52