Subversion-Projekte lars-tiefland.php_share

Revision

Details | Letzte Änderung | Log anzeigen | RSS feed

Revision Autor Zeilennr. Zeile
1 lars 1
<?PHP
2
/**
3
 * example that shows how to cancel an event
4
 *
5
 * @package    Event_Dispatcher
6
 * @subpackage Examples
7
 * @author     Stephan Schmidt <schst@php.net>
8
 */
9
 
10
/**
11
 * load Event_Dispatcher package
12
 */
13
require_once 'Event/Dispatcher.php';
14
 
15
/**
16
 * example observers
17
 */
18
function receiver1(&$notification)
19
{
20
    echo "receiver 1 received notification<br />\n";
21
}
22
 
23
function receiver2(&$notification)
24
{
25
    echo "receiver 2 received notification<br />\n";
26
}
27
 
28
$dispatcher = &Event_Dispatcher::getInstance();
29
$dispatcher->addObserver('receiver1', 'onFoo', 'TestClass');
30
$dispatcher->addObserver('receiver2', 'onFoo', 'AnotherTestClass');
31
$dispatcher->addObserver('receiver2', 'onBar');
32
 
33
// Test, whether an observer has been registered
34
$registered = $dispatcher->observerRegistered('receiver1', 'onFoo');
35
if ($registered === true) {
36
	echo "Observer successfully registered";
37
}
38
 
39
$observers = $dispatcher->getObservers('onFoo');
40
echo '<pre>';
41
print_r($observers);
42
echo '</pre>';
43
 
44
// Filter using a class name
45
$observers = $dispatcher->getObservers('onFoo', 'TestClass');
46
echo '<pre>';
47
print_r($observers);
48
echo '</pre>';
49
 
50
?>