/
kiber_den
/
pattern-realisation
Обзор
Документация
Войти
/
kiber_den
/
pattern-realisation
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
observer
Warehouse.php
34 строки
791 B
daniil
observer realisation
01 авг 2025, 17:50
01 авг 2025, 17:50
c885bd1
Код
Авторство
О чём код?
<?php use Observer\ObserverInterface; class Warehouse { private array $observers = []; public function addObserver(ObserverInterface $observer): bool { $this->observers[$observer::class] = $observer; return true; } public function removeObserver(ObserverInterface $observer): void { if (isset($this->observers[$observer::class])) { unset($this->observers[$observer::class]); } } protected function notifyObservers(string $message): void { foreach ($this->observers as $observer) { $observer->update($message); } } public function updateStock(string $product, int $count): void { $this->notifyObservers("Stock updated for $product: $count"); } }