Junior — Middle
Оё шумо намунаи 'Боздошташаванда'-ро дар лоиҳаҳои худ истифода бурдаед?
sobes.tech AI
Ҷавоб аз AI
Бале, шаблони "Кўзәтувчи" (Observer) PHP лойиҳаларда воқеаларга асосланган моделни амалга ошириш учун қўлланилган бўлиб, бу ерда бир объект (мавзу) ўз ҳолатидаги ўзгаришлар ҳақида кўплаб бошқа объектларга (кўзәтувчиларга) хабар беради.
PHPда қўлланиш намунаси:
interface Observer {
public function update(string $eventData);
}
class Subject {
private $observers = [];
public function attach(Observer $observer) {
$this->observers[] = $observer;
}
public function notify(string $eventData) {
foreach ($this->observers as $observer) {
$observer->update($eventData);
}
}
public function changeState() {
// Ҳолатни ўзгартириш
$this->notify('Ҳолат ўзгартирилди');
}
}
class ConcreteObserver implements Observer {
public function update(string $eventData) {
echo "Хабар олинди: $eventData\n";
}
}
$subject = new Subject();
$observer = new ConcreteObserver();
$subject->attach($observer);
$subject->changeState();
Бу ёндашув ҳолат ўзгаришларининг мантиғини бу ўзгаришларга жавоб беришдан ажратишга ёрдам беради, бу эса коднинг кенгайишини ва техник хизмат кўрсатишни яхшилайди.