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