AbstractDashboardBlock   A
last analyzed

Complexity

Total Complexity 11

Size/Duplication

Total Lines 130
Duplicated Lines 0 %

Coupling/Cohesion

Components 1
Dependencies 1

Importance

Changes 1
Bugs 1 Features 0
Metric Value
wmc 11
c 1
b 1
f 0
lcom 1
cbo 1
dl 0
loc 130
rs 10

11 Methods

Rating   Name   Duplication   Size   Complexity  
A handleParameters() 0 4 1
A __construct() 0 4 1
A render() 0 6 1
A getTemplating() 0 4 1
A setTemplating() 0 6 1
A getContainer() 0 4 1
A setContainer() 0 6 1
A getTemplate() 0 4 1
A setTemplate() 0 6 1
A getTemplateParameters() 0 4 1
A setTemplateParameters() 0 6 1
1
<?php
2
3
/*
4
 * This file is part of the Blast Project package.
5
 *
6
 * Copyright (C) 2015-2017 Libre Informatique
7
 *
8
 * This file is licenced under the GNU LGPL v3.
9
 * For the full copyright and license information, please view the LICENSE.md
10
 * file that was distributed with this source code.
11
 */
12
13
namespace Blast\CoreBundle\Dashboard;
14
15
use Symfony\Component\DependencyInjection\ContainerInterface;
16
use Symfony\Component\DependencyInjection\ContainerAwareInterface;
17
use Symfony\Bundle\TwigBundle\TwigEngine;
18
19
abstract class AbstractDashboardBlock implements ContainerAwareInterface
20
{
21
    /**
22
     * @var TwigEngine
23
     */
24
    private $templating;
25
26
    /**
27
     * @var ContainerInterface
28
     */
29
    private $container;
30
31
    /**
32
     * @var string
33
     */
34
    protected $template;
35
36
    /**
37
     * @var array
38
     */
39
    protected $templateParameters = [];
40
41
    /**
42
     * handleParameters should handle $templateParameters. It will be called when
43
     * the block template will be rendered. Please override this method to set
44
     * the view parameters of your block.
45
     */
46
    public function handleParameters()
47
    {
48
        $this->templateParameters = [];
49
    }
50
51
    /**
52
     * @param string $template
53
     */
54
    public function __construct($template = null)
55
    {
56
        $this->template = $template;
57
    }
58
59
    /**
60
     * @return string The content of rendered template
61
     */
62
    public function render()
63
    {
64
        $this->handleParameters();
65
66
        return $this->templating->render($this->template, $this->templateParameters);
67
    }
68
69
    /**
70
     * @return TwigEngine
71
     */
72
    public function getTemplating()
73
    {
74
        return $this->templating;
75
    }
76
77
    /**
78
     * @param TwigEngine templating
79
     *
80
     * @return self
81
     */
82
    public function setTemplating(TwigEngine $templating)
83
    {
84
        $this->templating = $templating;
85
86
        return $this;
87
    }
88
89
    /**
90
     * @return ContainerInterface
91
     */
92
    public function getContainer()
93
    {
94
        return $this->container;
95
    }
96
97
    /**
98
     * @param ContainerInterface container
99
     *
100
     * @return self
101
     */
102
    public function setContainer(ContainerInterface $container = null)
103
    {
104
        $this->container = $container;
105
106
        return $this;
107
    }
108
109
    /**
110
     * @return string
111
     */
112
    public function getTemplate()
113
    {
114
        return $this->template;
115
    }
116
117
    /**
118
     * @param string template
119
     *
120
     * @return self
121
     */
122
    public function setTemplate($template)
123
    {
124
        $this->template = $template;
125
126
        return $this;
127
    }
128
129
    /**
130
     * @return string
131
     */
132
    public function getTemplateParameters()
133
    {
134
        return $this->templateParameters;
135
    }
136
137
    /**
138
     * @param string templateParameters
139
     *
140
     * @return self
141
     */
142
    public function setTemplateParameters($templateParameters)
143
    {
144
        $this->templateParameters = $templateParameters;
145
146
        return $this;
147
    }
148
}
149