1
|
<?php
|
2
|
|
3
|
/*
|
4
|
* This file is part of Twig.
|
5
|
*
|
6
|
* (c) 2010 Fabien Potencier
|
7
|
* (c) 2010 Arnaud Le Blanc
|
8
|
*
|
9
|
* For the full copyright and license information, please view the LICENSE
|
10
|
* file that was distributed with this source code.
|
11
|
*/
|
12
|
|
13
|
/**
|
14
|
* Interface implemented by token parser brokers.
|
15
|
*
|
16
|
* Token parser brokers allows to implement custom logic in the process of resolving a token parser for a given tag name.
|
17
|
*
|
18
|
* @package twig
|
19
|
* @author Arnaud Le Blanc <arnaud.lb@gmail.com>
|
20
|
*/
|
21
|
interface Twig_TokenParserBrokerInterface
|
22
|
{
|
23
|
/**
|
24
|
* Gets a TokenParser suitable for a tag.
|
25
|
*
|
26
|
* @param string $tag A tag name
|
27
|
*
|
28
|
* @return null|Twig_TokenParserInterface A Twig_TokenParserInterface or null if no suitable TokenParser was found
|
29
|
*/
|
30
|
public function getTokenParser($tag);
|
31
|
|
32
|
/**
|
33
|
* Calls Twig_TokenParserInterface::setParser on all parsers the implementation knows of.
|
34
|
*
|
35
|
* @param Twig_ParserInterface $parser A Twig_ParserInterface interface
|
36
|
*/
|
37
|
public function setParser(Twig_ParserInterface $parser);
|
38
|
|
39
|
/**
|
40
|
* Gets the Twig_ParserInterface.
|
41
|
*
|
42
|
* @return null|Twig_ParserInterface A Twig_ParserInterface instance or null
|
43
|
*/
|
44
|
public function getParser();
|
45
|
}
|