DisplayLinkExtension::getName()   A
last analyzed

Complexity

Conditions 1
Paths 1

Size

Total Lines 4
Code Lines 2

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
dl 0
loc 4
c 0
b 0
f 0
rs 10
cc 1
eloc 2
nc 1
nop 0
1
<?php
2
3
namespace Alpixel\Bundle\MenuBundle\Twig;
4
5
class DisplayLinkExtension extends \Twig_Extension
6
{
7
    public function getFunctions()
8
    {
9
        return [
10
            new \Twig_SimpleFunction('alpixel_menu_link', [$this, 'menuLink'], ['needs_environment' => true]),
11
        ];
12
    }
13
14
    /**
15
     * Add app_dev.php in dev environment if the link is locale.
16
     *
17
     * @param \Twig_Environment $twig
18
     * @param $link
19
     *
20
     * @return string
21
     */
22
    public function menuLink(\Twig_Environment $twig, $link)
23
    {
24
        $globals = $twig->getGlobals();
25
        $app = $globals['app'];
26
        $env = $app->getDebug();
27
28
        if ($env && strpos($link, 'http') === false) {
29
            $dev = ($link[0] === '/') ? 'app_dev.php' : 'app_dev.php/';
30
            $link = $dev.$link;
31
        }
32
33
        return $link;
34
    }
35
36
    public function getName()
37
    {
38
        return 'alpixel_menu_menu_link';
39
    }
40
}
41