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