/
t.php
87 lines (63 loc) · 1.4 KB
/
t.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
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
<?php
trait a{
protected $listeners;
public function on(){
$this->listeners = [123];
return $this->listeners;
}
}
class b{
use a;
}
$b = new b;
var_dump($b->on());
class event {
use \Evenement\EventEmitterTrait;
}
$event = new event();
var_dump($event);
$event->on('key1', function($msg){
echo "key1 event: \n";
var_dump($msg);
});
$event->on('key2', function($val){
return $val+1;
});
class env{
public static function foo($val){
return $val+1;
}
}
$env_foo = "env::foo";
$event->on('key3', function(){
});
$event->on('key3', $env_foo);
$event->on('key4', [new env(), 'foo']);
$event->on('key4', function(){
return 0;
});
var_dump($event);
echo "removeListener\n\n";
$event->removeListener("key3", $env_foo);
var_dump($event->listeners['key3']);
$ret = array_search( $env_foo, $event->listeners['key3'], true);
var_dump($ret);
echo "\n\n";
var_dump($event);
echo "\nlisteners\n";
$value = $event->listeners('key4');
var_dump($value);
$value = $event->listeners('key_none');
var_dump($value);
echo "\nemit\n";
$event->emit('key1', ["Hello World"]);
$event->emit('key1', [new env()]);
echo "\nremoveAllListeners\n";
$event->removeAllListeners();
var_dump($event);
$emitter = new Evenement\EventEmitter();
$emitter->on('user.created', function ($user) {
var_dump($user);
});
var_dump($emitter);
$emitter->emit('user.created', array("eagle"));