Menu::getBreadcrumbs()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 6
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
cc 1
eloc 3
nc 1
nop 3
dl 0
loc 6
rs 10
c 1
b 0
f 0
1
<?php
2
3
declare(strict_types=1);
4
5
namespace Braunstetter\MenuBundle\Services;
6
7
use Braunstetter\MenuBundle\Contracts\MenuItemInterface;
8
use Braunstetter\MenuBundle\Services\Resolver\BreadcrumbsResolver;
9
use Braunstetter\MenuBundle\Services\Resolver\MenuResolver;
10
use Twig\Environment;
11
12
class Menu
13
{
14
    private MenuResolver $menuResolver;
15
16
    private BreadcrumbsResolver $breadcrumbsResolver;
17
18
    public function __construct(MenuResolver $menuResolver, BreadcrumbsResolver $breadcrumbsResolver)
19
    {
20
        $this->menuResolver = $menuResolver;
21
        $this->breadcrumbsResolver = $breadcrumbsResolver;
22
    }
23
24
    /**
25
     * @param array<string, mixed> $context
26
     */
27
    public function getMenu(Environment $templating, array $context, string $name): string
28
    {
29
        return $templating->render(
30
            '@Menu/menu.html.twig',
31
            [
32
                'menus' => $this->menuResolver->get($name, $context),
33
            ]
34
        );
35
    }
36
37
    /**
38
     * @param array<string, mixed> $context
39
     */
40
    public function getBreadcrumbs(Environment $templating, array $context, string $name): string
41
    {
42
        return $templating->render(
43
            '@Menu/breadcrumb_menu.html.twig',
44
            [
45
                'menus' => $this->breadcrumbsResolver->get($name, $context),
46
            ]
47
        );
48
    }
49
50
    /**
51
     * @param array<string, mixed> $context
52
     * @return array<MenuItemInterface>
53
     */
54
    public function getMenuResult(array $context, string $name): array
55
    {
56
        return $this->menuResolver->get($name, $context);
57
    }
58
59
    /**
60
     * @param array<string, mixed> $context
61
     * @return array<MenuItemInterface>
62
     */
63
    public function getBreadcrumbsResult(array $context, string $name): array
64
    {
65
        return $this->breadcrumbsResolver->get($name, $context);
66
    }
67
}
68