本文实例讲述了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
|
<?php
//定义观察者调用接口
class transfer{
protected $_observers = array ();
//注册对象
public function register( $sub ){
$this ->_observers[] = $sub ;
}
//外部统一调用
public function trigger(){
if (! empty ( $this ->_observers)){
foreach ( $this ->_observers as $observer ){
$observer ->update();
}
}
}
}
//观察者接口
interface obserable{
public function update();
}
//实现观察者
class listen implements obserable{
public function update(){
echo 'now first time you need to do listen<br/>' ;
}
}
class read implements obserable{
public function update(){
echo 'now first time you need to read<br/>' ;
}
}
class speak implements obserable{
public function update(){
echo 'now first time you need to speak<br/>' ;
}
}
class write implements obserable{
public function update(){
echo 'now first time you need to write<br/>' ;
}
}
$transfer = new transfer();
$transfer ->register( new listen());
$transfer ->register( new read());
$transfer ->register( new speak());
$transfer ->register( new write());
$transfer ->trigger();
|
希望本文所述对大家PHP程序设计有所帮助。