diff --git a/Observer/Observer.php b/Observer/Observer.php index 5b7aacd..ea92b42 100644 --- a/Observer/Observer.php +++ b/Observer/Observer.php @@ -25,6 +25,8 @@ class UserObserver implements \SplObserver class User implements \SplSubject { + protected $_data = array(); + /** * @var array */ @@ -68,4 +70,20 @@ class User implements \SplSubject $observer->update($this); } } + + /** + * Ideally one would better write setter/getter for all valid attributes and only call notify() + * on attributes that matter when changed + * + * @param $name + * @param $value + * @return void + */ + public function __set($name, $value) + { + $this->_data[$name] = $value; + + // notify the observers, that user has been updated + $this->notify(); + } } \ No newline at end of file