File size: 1,197 Bytes
d2897cd
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
<?php

declare(strict_types=1);

namespace Mautic\CoreBundle\Twig\Extension;

use Twig\Extension\AbstractExtension;
use Twig\TwigFunction;
use Twig\TwigTest;

class AppExtension extends AbstractExtension
{
    /**
     * @return TwigFunction[]
     */
    public function getFunctions()
    {
        return [
            new TwigFunction('ini_get', fn ($value) => ini_get($value)),
            new TwigFunction('is_class', fn (string $value) => class_exists($value)),
            new TwigFunction('is_file', fn (string $value) => file_exists($value)),
            new TwigFunction('is_function', fn (string $value) => function_exists($value)),
            new TwigFunction('is_extension_loaded', fn (string $value) => extension_loaded($value)),
        ];
    }

    /**
     * @return TwigTest[]
     */
    public function getTests(): array
    {
        return [
            new TwigTest('string', fn ($value) => is_string($value)),
            new TwigTest('class', fn (string $value) => class_exists($value)),
            new TwigTest('file', fn (string $value) => file_exists($value)),
            new TwigTest('function', fn (string $value) => function_exists($value)),
        ];
    }
}