note 101224 added to class.splobserver
| From: | gmblar+php at gmail dot com | Date: | Fri, 03 Dec 2010 14:27:03 +0000 |
| Subject: | note 101224 added to class.splobserver | ||
| Groups: | php.notes | ||
| Request: | Send a blank email to php-notes+get-174582@lists.php.net to get a copy of this message | ||
<?php
class observer implements SPLObserver {
public function update(SPLSubject $subject) {
echo get_class($subject), " has been updated. Test: ", $subject->getTest(),
"\n";
}
}
class subject implements SPLSubject {
protected $observers = array();
protected $test = 1;
public function attach(SPLObserver $observer) {
$id = spl_object_hash($observer);
$this->observers[$id] = $observer;
}
public function detach(SPLObserver $observer) {
$id = spl_object_hash($observer);
unset($this->observers[$id]);
}
public function notify() {
foreach($this->observers as $observer) {
$observer->update($this);
}
}
public function setTest($test) {
$this->test = $test;
$this->notify();
}
public function getTest() {
return $this->test;
}
}
$observer = new observer();
$subject = new subject();
$subject->attach($observer);
$subject->setTest(2);
$subject->detach($observer);
$subject->setTest(3);
?>
----
Server IP: 212.124.37.9
Probable Submitter: 84.151.159.36
----
Manual Page -- http://www.php.net/manual/en/class.splobserver.php
Edit -- https://master.php.net/note/edit/101224
Del: integrated -- https://master.php.net/note/delete/101224/integrated
Del: useless -- https://master.php.net/note/delete/101224/useless
Del: bad code -- https://master.php.net/note/delete/101224/bad+code
Del: spam -- https://master.php.net/note/delete/101224/spam
Del: non-english -- https://master.php.net/note/delete/101224/non-english
Del: in docs -- https://master.php.net/note/delete/101224/in+docs
Del: other reasons-- https://master.php.net/note/delete/101224
Reject -- https://master.php.net/note/reject/101224
Search -- https://master.php.net/manage/user-notes.php