AppExtension   A
last analyzed

Complexity

Total Complexity 4

Size/Duplication

Total Lines 19
Duplicated Lines 0 %

Importance

Changes 2
Bugs 0 Features 0
Metric Value
eloc 6
c 2
b 0
f 0
dl 0
loc 19
rs 10
wmc 4

3 Methods

Rating   Name   Duplication   Size   Complexity  
A getFilters() 0 4 1
A __construct() 0 3 1
A showPageNumber() 0 3 2
1
<?php
2
3
declare(strict_types=1);
4
5
namespace App\Twig;
6
7
use Symfony\Contracts\Translation\TranslatorInterface;
8
use Twig\Extension\AbstractExtension;
9
use Twig\TwigFilter;
10
11
final class AppExtension extends AbstractExtension
12
{
13
    private TranslatorInterface $translator;
14
15
    public function __construct(TranslatorInterface $translator)
16
    {
17
        $this->translator = $translator;
18
    }
19
20
    public function getFilters(): array
21
    {
22
        return [
23
            new TwigFilter('page', [$this, 'showPageNumber']),
24
        ];
25
    }
26
27
    public function showPageNumber($number = 1): string
28
    {
29
        return ($number > 1) ? ' - '.$this->translator->trans('page').' '.$number : '';
30
    }
31
}
32