Пример #1
0
    }
    public function setState($value)
    {
        $this->state = $value;
        $this->setChanged();
        $this->notifyObservers();
    }
}
class ObserverFoo extends ObserverAbstract
{
    public function update(ObservableInterface $observableObject, $arg)
    {
        echo 'Foo: ' . $observableObject->getState();
        echo '<br/>';
    }
}
class ObserverBar extends ObserverAbstract
{
    public function update(ObservableInterface $observableObject, $arg)
    {
        echo 'Bar: ' . $observableObject->getState();
        echo '<br/>';
    }
}
$observableObject = new \Observable();
// hook observer
$observableObject->addObserver(new \ObserverFoo());
$observableObject->addObserver(new \ObserverBar());
// notify
$observableObject->setState('todo');