1: <?php
2:
3: /**
4: * This file is part of the Latte (https://latte.nette.org)
5: * Copyright (c) 2008 David Grudl (https://davidgrudl.com)
6: */
7:
8: namespace Latte;
9:
10:
11: /**
12: * Latte macro.
13: */
14: interface IMacro
15: {
16:
17: /**
18: * Initializes before template parsing.
19: * @return void
20: */
21: function initialize();
22:
23: /**
24: * Finishes template parsing.
25: * @return array(prolog, epilog)
26: */
27: function finalize();
28:
29: /**
30: * New node is found. Returns FALSE to reject.
31: * @return bool
32: */
33: function nodeOpened(MacroNode $node);
34:
35: /**
36: * Node is closed.
37: * @return void
38: */
39: function nodeClosed(MacroNode $node);
40:
41: }
42: