在PHP中,订阅发布模式是一种常用的设计模式,用于实现对象之间的解耦。以下是一个简单的实例,演示了如何使用PHP实现订阅发布模式。
1. 创建发布者(Publisher)类
发布者类负责发布消息,并允许其他对象订阅或取消订阅消息。

```php
class Publisher {
private $subscribers = [];
public function subscribe($event, $callback) {
if (!isset($this->subscribers[$event])) {
$this->subscribers[$event] = [];
}
$this->subscribers[$event][] = $callback;
}
public function unsubscribe($event, $callback) {
if (isset($this->subscribers[$event])) {
$key = array_search($callback, $this->subscribers[$event]);
if ($key !== false) {
unset($this->subscribers[$event][$key]);
}
}
}
public function publish($event, $data) {
if (isset($this->subscribers[$event])) {
foreach ($this->subscribers[$event] as $callback) {
call_user_func($callback, $data);
}
}
}
}
```
2. 创建订阅者(Subscriber)类
订阅者类是订阅消息的对象,它们将实现一个回调函数,用于处理接收到的消息。
```php
class Subscriber {
public function onMessage($data) {
// 处理消息
echo "







