Extension::getFunctions()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 19
Code Lines 14

Duplication

Lines 0
Ratio 0 %

Importance

Changes 5
Bugs 0 Features 0
Metric Value
cc 1
eloc 14
nc 1
nop 0
dl 0
loc 19
rs 9.7998
c 5
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Braunstetter\MenuBundle\Twig;
6
7
use Braunstetter\MenuBundle\Services\Menu;
8
use Twig\Extension\AbstractExtension;
9
use Twig\TwigFunction;
10
11
class Extension extends AbstractExtension
12
{
13
    private Menu $menu;
14
15
    public function __construct(Menu $menu)
16
    {
17
        $this->menu = $menu;
18
    }
19
20
    public function getFunctions(): array
21
    {
22
        return [
23
            new TwigFunction('menu', [$this->menu, 'getMenu'], [
24
                'is_safe' => ['html'],
25
                'needs_context' => true,
26
                'needs_environment' => true,
27
            ]),
28
            new TwigFunction('menu_result', [$this->menu, 'getMenuResult'], [
29
                'needs_context' => true,
30
            ]),
31
            new TwigFunction('breadcrumbs', [$this->menu, 'getBreadcrumbs'], [
32
                'is_safe' => ['html'],
33
                'needs_context' => true,
34
                'needs_environment' => true,
35
            ]),
36
            new TwigFunction('breadcrumbs_result', [$this->menu, 'getBreadcrumbsResult'], [
37
                'is_safe' => ['html'],
38
                'needs_context' => true,
39
            ]),
40
        ];
41
    }
42
}
43