Completed
Push — next ( 8ef386...43bb99 )
by Thomas
11:01 queued 05:16
created

MenuSubscriber::getSubscribedEvents()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 7
Code Lines 4

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 1
eloc 4
nc 1
nop 0
dl 0
loc 7
rs 9.4285
c 0
b 0
f 0
1
<?php
2
3
namespace OcDev\KitchenSink\Subscriber;
4
5
use Oc\Menu\Event\MenuEvent;
6
use Oc\Menu\MenuEnum;
7
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
8
9
/**
10
 * Class MenuSubscriber
11
 */
12
class MenuSubscriber implements EventSubscriberInterface
13
{
14
    /**
15
     * Returns an array of event names this subscriber wants to listen to.
16
     *
17
     * @return array The event names to listen to
18
     */
19
    public static function getSubscribedEvents()
20
    {
21
        return [
22
            MenuEnum::MENU_MAIN => 'onConfigureMenu',
23
            MenuEnum::MENU_MAIN . '.kitchensink' => 'onConfigureKitchensinkMenu',
24
        ];
25
    }
26
27
    /**
28
     * @param MenuEvent $event
29
     */
30
    public function onConfigureKitchensinkMenu(MenuEvent $event)
31
    {
32
        $event->getCurrentItem()->addChild('Test1');
33
        $event->getCurrentItem()->addChild('Test2');
34
    }
35
36
    /**
37
     * @param MenuEvent $event
38
     */
39
    public function onConfigureMenu(MenuEvent $event)
40
    {
41
        $kitchensink = $event->getCurrentItem()->addChild(
42
            'kitchensink',
43
            [
44
                'label' => 'Kitchensink',
45
                'route' => 'kitchensink.index',
46
            ]
47
        );
48
49
        $subEvent = $event->createSubEvent($kitchensink);
50
51
        $event->getEventDispatcher()->dispatch(MenuEnum::MENU_MAIN . '.kitchensink', $subEvent);
52
    }
53
}
54