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