From b02590628118b847412c1fe4c9827a9091844aed Mon Sep 17 00:00:00 2001 From: Dominik Liebler Date: Sat, 27 Aug 2011 10:34:12 +0200 Subject: [PATCH] added observer pattern --- Observer/Observer.php | 71 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 71 insertions(+) create mode 100644 Observer/Observer.php diff --git a/Observer/Observer.php b/Observer/Observer.php new file mode 100644 index 0000000..5b7aacd --- /dev/null +++ b/Observer/Observer.php @@ -0,0 +1,71 @@ +_observers[] = $observer; + } + + /** + * detach an observer + * + * @param \SplObserver $observer + * @return void + */ + public function detach(\SplObserver $observer) + { + $index = array_search($observer, $this->_observers); + + if (false !== $index) { + unset($this->_observers[$index]); + } + } + + /** + * + * + * @return void + */ + public function notify() + { + /** @var SplObserver $observer */ + foreach ($this->_observers as $observer) { + $observer->update($this); + } + } +} \ No newline at end of file