blob: 75fa237e1ded435cf38ee723963855630b62bb0f [file] [log] [blame]
Matthias Andreas Benkard12a57352021-12-28 18:02:04 +01001<?php
2
3/*
4 * This file is part of Twig.
5 *
6 * (c) Fabien Potencier
7 *
8 * For the full copyright and license information, please view the LICENSE
9 * file that was distributed with this source code.
10 */
11
12namespace Twig\Extension;
13
14use Twig\NodeVisitor\NodeVisitorInterface;
15use Twig\TokenParser\TokenParserInterface;
16use Twig\TwigFilter;
17use Twig\TwigFunction;
18use Twig\TwigTest;
19
20/**
21 * Interface implemented by extension classes.
22 *
23 * @author Fabien Potencier <fabien@symfony.com>
24 */
25interface ExtensionInterface
26{
27 /**
28 * Returns the token parser instances to add to the existing list.
29 *
30 * @return TokenParserInterface[]
31 */
32 public function getTokenParsers();
33
34 /**
35 * Returns the node visitor instances to add to the existing list.
36 *
37 * @return NodeVisitorInterface[]
38 */
39 public function getNodeVisitors();
40
41 /**
42 * Returns a list of filters to add to the existing list.
43 *
44 * @return TwigFilter[]
45 */
46 public function getFilters();
47
48 /**
49 * Returns a list of tests to add to the existing list.
50 *
51 * @return TwigTest[]
52 */
53 public function getTests();
54
55 /**
56 * Returns a list of functions to add to the existing list.
57 *
58 * @return TwigFunction[]
59 */
60 public function getFunctions();
61
62 /**
63 * Returns a list of operators to add to the existing list.
64 *
65 * @return array<array> First array of unary operators, second array of binary operators
66 */
67 public function getOperators();
68}