牛牛在线工具

SplSubject::notify()

收录 8868 个 PHP 函数,含用途说明与用法示例。

SplSubject::notify()

知所有观察者对象,当主题对象的状态发生变化时

函数名:SplSubject::notify() 适用版本:PHP 5 >= 5.1.0, PHP 7 函数描述:SplSubject::notify() 通知所有观察者对象,当主题对象的状态发生变化时。 用法: SplSubject::notify(void): void 参数: 该函数没有参数。 返回值: 该函数没有返回值。 示例: <?php // 创建一个观察者类 class Observer implements SplObserver { public function update(SplSubject $subject) { echo "观察者收到通知并更新状态\n"; } } // 创建一个主题类 class Subject implements SplSubject { private $observers = []; public function attach(SplObserver $observer) { $this->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(); ?> 输出结果: 主题对象的状态发生变化 观察者收到通知并更新状态