Completed
Push — master ( 1e0554...a46c35 )
by Philip
04:01
created

TwigSetup::registerTwigExtensions()   A

Complexity

Conditions 1
Paths 1

Size

Total Lines 13
Code Lines 10

Duplication

Lines 0
Ratio 0 %

Importance

Changes 1
Bugs 0 Features 0
Metric Value
dl 0
loc 13
rs 9.4285
c 1
b 0
f 0
cc 1
eloc 10
nc 1
nop 1
1
<?php
2
/*
3
* This file is part of the CRUDlex package.
4
*
5
* (c) Philip Lehmann-Böhm <[email protected]>
6
*
7
* For the full copyright and license information, please view the LICENSE
8
* file that was distributed with this source code.
9
*/
10
11
namespace CRUDlex\Silex;
12
13
use CRUDlex\TwigExtensions;
14
use Pimple\Container;
15
16
/**
17
* Provides and setups the Twig extensions like filters for Silex.
18
*/
19
class TwigSetup
20
{
21
22
    /**
23
     * Registers all extensions.
24
     *
25
     * @param Container $app
26
     * the current application
27
     */
28
    public function registerTwigExtensions(Container $app)
29
    {
30
        $twigExtensions = new TwigExtensions();
31
        $app->extend('twig', function(\Twig_Environment $twig) use ($twigExtensions) {
32
            $twig->addFilter(new \Twig_SimpleFilter('arrayColumn', 'array_column'));
33
            $twig->addFilter(new \Twig_SimpleFilter('languageName', [$twigExtensions, 'getLanguageName']));
34
            $twig->addFilter(new \Twig_SimpleFilter('float', [$twigExtensions, 'formatFloat']));
35
            $twig->addFilter(new \Twig_SimpleFilter('basename', 'basename'));
36
            $twig->addFilter(new \Twig_SimpleFilter('formatDate', [$twigExtensions, 'formatDate']));
37
            $twig->addFilter(new \Twig_SimpleFilter('formatDateTime', [$twigExtensions, 'formatDateTime']));
38
            return $twig;
39
        });
40
    }
41
42
}
43