php观察者模式入门例子
Freigeben: 2016-07-25 08:52:08
Original
894 Leute haben es durchsucht
-
- class DemoSubject implements SplSubject{
- private $observers, $value;
-
- public function __construct(){
- $this->observers = array();
- }
-
- public function attach(SplObserver $observer){
- $this->observers[] = $observer;
- }
-
- public function detach(SplObserver $observer){
- if($idx = array_search($observer, $this->observers, true)){
- unset($this->observers[$idx]);
- }
- }
-
- public function notify(){
- foreach($this->observers as $observer){
- $observer->update($this);
- }
- }
-
- public function setValue($value){
- $this->value = $value;
- $this->notify();
- }
-
- public function getValue(){
- return $this->value;
- }
- }
-
- class DemoObserver implements SplObserver{
- public function update(SplSubject $subject){
- echo 'The new value is '. $subject->getValue();
- }
- }
-
- $subject = new DemoSubject();
- $observer = new DemoObserver();
- $subject->attach($observer);
- $subject->setValue(5);
复制代码
|
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
-
2024-10-22 09:46:29
-
2024-10-13 13:53:41
-
2024-10-12 12:15:51
-
2024-10-11 22:47:31
-
2024-10-11 19:36:51
-
2024-10-11 15:50:41
-
2024-10-11 15:07:41
-
2024-10-11 14:21:21
-
2024-10-11 12:59:11
-
2024-10-11 12:17:31