实战需求
PHP 8 中的观察者模式
解决方案
在 PHP 8+ 中实现观察者模式的最简单指南
PHP 世界中最常用的设计模式之一是Observer,当我们有几个对象依赖另一个对象并且需要在该对象的状态发生变化时执行操作时,它非常有用,或者一个对象需要通知其他人不知道他们是谁或有多少人。
观察者设计模式
观测器的设计模式是一种行为设计模式,它使在事件发生时,如状态改变或方法执行的对象通知其他对象。
这种模式由一个称为Observable(或Subject / Publisher,在某些来源中)的对象和许多其他称为Observers(或Subscribers)的对象组成。在可观测持有名单Ø观察员财产并通知他们自动的任何状态变化,通常调用的观察者的方法之一。
观察者模式通常用于在应用程序中实现事件处理程序,而无需在主类和事件侦听器对象之间创建依赖关系。
实施
在我们的示例中,我们将创建一个简单的系统,该系统可以创建用户并将其数据存储在内存中。然后我们将在每次创建用户时实现一个通知
首先,让我们创建一个仅具有 name 和 email 属性的User类。
class User
{
public function __construct(
private string $name,
private string $email
) {}
}
然后,让我们创建一个UserRepository来存储和处理用户的数据:
UsersRepository 类将实现单例模式以