函数名:SplSubject::notify()
适用版本:PHP 5 >= 5.1.0, PHP 7
函数描述:SplSubject::notify() 通知所有观察者对象,当主题对象的状态发生变化时。
用法: SplSubject::notify(void): void
参数: 该函数没有参数。
返回值: 该函数没有返回值。
示例:
observers[] = $observer;
}
public function detach(SplObserver $observer) {
$index = array_search($observer, $this->observers);
if ($index !== false) {
unset($this->observers[$index]);
}
}
public function notify() {
foreach ($this->observers as $observer) {
$observer->update($this);
}
}
public function doSomething() {
// 主题对象的状态发生变化
echo "主题对象的状态发生变化\n";
// 通知所有观察者对象
$this->notify();
}
}
// 创建观察者和主题对象
$observer = new Observer();
$subject = new Subject();
// 将观察者对象附加到主题对象上
$subject->attach($observer);
// 主题对象的状态发生变化,触发通知
$subject->doSomething();
?>
输出结果:
主题对象的状态发生变化
观察者收到通知并更新状态