1: <?php
2:
3: /**
4: * This file is part of the Nette Framework (https://nette.org)
5: *
6: * Copyright (c) 2004 David Grudl (http://davidgrudl.com)
7: *
8: * For the full copyright and license information, please view
9: * the file license.txt that was distributed with this source code.
10: * @package Nette
11: */
12:
13:
14:
15: /**
16: * Provides functionality required by all components.
17: *
18: * @author David Grudl
19: * @package Nette
20: */
21: interface IComponent
22: {
23: /** Separator for component names in path concatenation. */
24: const NAME_SEPARATOR = '-';
25:
26: /**
27: * @return string
28: */
29: function getName();
30:
31: /**
32: * Returns the container if any.
33: * @return IComponentContainer|NULL
34: */
35: function getParent();
36:
37: /**
38: * Sets the parent of this component.
39: * @param IComponentContainer
40: * @param string
41: * @return void
42: */
43: function setParent(IComponentContainer $parent = NULL, $name = NULL);
44:
45: }
46: