Completed
Push — master ( 6d6774...64f3ed )
by Jeroen
11:23 queued 05:13
created

Kunstmaan/AdminBundle/Twig/MenuTwigExtension.php (1 issue)

Upgrade to new PHP Analysis Engine

These results are based on our legacy PHP analysis, consider migrating to our new PHP analysis engine instead. Learn more

1
<?php
2
3
namespace Kunstmaan\AdminBundle\Twig;
4
5
use Kunstmaan\AdminBundle\Helper\AdminPanel\AdminPanel;
6
use Kunstmaan\AdminBundle\Helper\AdminPanel\AdminPanelActionInterface;
7
use Kunstmaan\AdminBundle\Helper\Menu\MenuBuilder;
8
use Twig\Extension\AbstractExtension;
9
use Twig\TwigFunction;
10
11
/**
12
 * @final since 5.4
13
 */
14
class MenuTwigExtension extends AbstractExtension
15
{
16
    /**
17
     * @var MenuBuilder
18
     */
19
    protected $menuBuilder;
20
21
    /**
22
     * @var AdminPanel
23
     */
24
    protected $adminPanel;
25
26
    /**
27
     * @param MenuBuilder $menuBuilder
28
     * @param AdminPanel  $adminPanel
29
     */
30
    public function __construct(MenuBuilder $menuBuilder, AdminPanel $adminPanel)
31
    {
32
        $this->menuBuilder = $menuBuilder;
33
        $this->adminPanel = $adminPanel;
34
    }
35
36
    /**
37
     * Get Twig functions defined in this extension.
38
     *
39
     * @return array
0 ignored issues
show
Consider making the return type a bit more specific; maybe use TwigFunction[].

This check looks for the generic type array as a return type and suggests a more specific type. This type is inferred from the actual code.

Loading history...
40
     */
41
    public function getFunctions()
42
    {
43
        return array(
44
            new TwigFunction('get_admin_menu', array($this, 'getAdminMenu')),
45
            new TwigFunction('get_admin_panel_actions', array($this, 'getAdminPanelActions')),
46
        );
47
    }
48
49
    /**
50
     * Return the admin menu MenuBuilder.
51
     *
52
     * @return MenuBuilder
53
     */
54
    public function getAdminMenu()
55
    {
56
        return $this->menuBuilder;
57
    }
58
59
    /**
60
     * Return the admin panel actions.
61
     *
62
     * @return AdminPanelActionInterface[]
63
     */
64
    public function getAdminPanelActions()
65
    {
66
        return $this->adminPanel->getAdminPanelActions();
67
    }
68
}
69