You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web/Sources/src/data/model/Observable.php

25 lines
551 B

<?php
namespace Model;
abstract class Observable {
private array $observers = array();
public function attachObserver(Observer $observer) {
$this->observers[] = $observer;
}
public function detachObserver(Observer $observer) {
$key = array_search($observer, $this->observers);
if ($key !== false) {
unset($this->observers[$key]);
}
}
public function notifyObservers() {
foreach ($this->observers as $observer) {
$observer->update($this);
}
}
}
?>