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\ComponentModel;
9:
10:
11: /**
12: * Provides functionality required by all components.
13: */
14: interface IComponent
15: {
16: /** Separator for component names in path concatenation. */
17: const NAME_SEPARATOR = '-';
18:
19: /**
20: * @return string
21: */
22: function getName();
23:
24: /**
25: * Returns the container if any.
26: * @return IContainer|NULL
27: */
28: function getParent();
29:
30: /**
31: * Sets the parent of this component.
32: * @param IContainer
33: * @param string
34: * @return void
35: */
36: function setParent(IContainer $parent = NULL, $name = NULL);
37:
38: }
39: