在PHP中,订阅发布模式是一种常用的设计模式,用于实现对象之间的解耦。以下是一个简单的实例,演示了如何使用PHP实现订阅发布模式。

1. 创建发布者(Publisher)类

发布者类负责发布消息,并允许其他对象订阅或取消订阅消息。

实例php订阅发布,PHP实例:如何实现简单的订阅发布模式  第1张

```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 "