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: * @author David Grudl
15: */
16: interface IMacro
17: {
18:
19: /**
20: * Initializes before template parsing.
21: * @return void
22: */
23: function initialize();
24:
25: /**
26: * Finishes template parsing.
27: * @return array(prolog, epilog)
28: */
29: function finalize();
30:
31: /**
32: * New node is found. Returns FALSE to reject.
33: * @return bool
34: */
35: function nodeOpened(MacroNode $node);
36:
37: /**
38: * Node is closed.
39: * @return void
40: */
41: function nodeClosed(MacroNode $node);
42:
43: }
44: