forked from nette/nette
-
Notifications
You must be signed in to change notification settings - Fork 1
/
IComponentContainer.php
68 lines (55 loc) · 1.42 KB
/
IComponentContainer.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
<?php
/**
* Nette Framework
*
* Copyright (c) 2004, 2009 David Grudl (http://davidgrudl.com)
*
* This source file is subject to the "Nette license" that is bundled
* with this package in the file license.txt.
*
* For more information please see http://nettephp.com
*
* @copyright Copyright (c) 2004, 2009 David Grudl
* @license http://nettephp.com/license Nette license
* @link http://nettephp.com
* @category Nette
* @package Nette
*/
/*namespace Nette;*/
require_once dirname(__FILE__) . '/IComponent.php';
/**
* Containers are objects that logically contain zero or more IComponent components.
*
* @author David Grudl
* @copyright Copyright (c) 2004, 2009 David Grudl
* @package Nette
*/
interface IComponentContainer extends IComponent
{
/**
* Adds the specified component to the IComponentContainer.
* @param IComponent
* @param string
* @return void
*/
function addComponent(IComponent $component, $name);
/**
* Removes a component from the IComponentContainer.
* @param IComponent
* @return void
*/
function removeComponent(IComponent $component);
/**
* Returns single component.
* @param string
* @return IComponent|NULL
*/
function getComponent($name);
/**
* Iterates over a components.
* @param bool recursive?
* @param string class types filter
* @return \ArrayIterator
*/
function getComponents($deep = FALSE, $filterType = NULL);
}