AbstractController::getFlash()   A
last analyzed

Complexity

Conditions 2
Paths 2

Size

Total Lines 10

Duplication

Lines 0
Ratio 0 %

Code Coverage

Tests 0
CRAP Score 6

Importance

Changes 0
Metric Value
dl 0
loc 10
ccs 0
cts 5
cp 0
rs 9.9332
c 0
b 0
f 0
cc 2
nc 2
nop 1
crap 6
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
abstract class AbstractController
12
{
13
    /**
14
     * @var Twig
15
     */
16
    protected $twig;
17
18
    /**
19
     * @var RouterInterface
20
     */
21
    protected $router;
22
23
    /**
24
     * @var Session
25
     */
26
    protected $session;
27
28
    /**
29
     * Pseudo constructor to use by decorator.
30
     *
31
     * @param Twig            $twig
32
     * @param RouterInterface $router
33
     * @param Session         $session
34
     */
35 2
    public function pseudoConstructor(Twig $twig, RouterInterface $router, Session $session): void
36
    {
37 2
        $this->twig = $twig;
38 2
        $this->router = $router;
39 2
        $this->session = $session;
40 2
    }
41
42
    /**
43
     * Adds given value to the flashed variables bag.
44
     *
45
     * @param string $name
46
     * @param        $value
47
     */
48
    protected function flash(string $name, $value): void
49
    {
50
        $this->session->getFlashBag()->add($name, $value);
51
    }
52
53
    /**
54
     * Returns flashed value with given name.
55
     *
56
     * @param string $name
57
     *
58
     * @return mixed|null
59
     */
60
    protected function getFlash(string $name)
61
    {
62
        if (false == $this->session->getFlashBag()->has($name)) {
63
            return;
64
        }
65
66
        $flash = $this->session->getFlashBag()->get($name);
67
68
        return $flash[0] ?? null;
69
    }
70
}
71