ホームページ  >  記事  >  バックエンド開発  >  PHP オブザーバー パターンの例を使ってみる

PHP オブザーバー パターンの例を使ってみる

WBOY
WBOYオリジナル
2016-07-25 08:52:08895ブラウズ
  1. class DemoSubject は SplSubject を実装します{
  2. private $observers, $value;
  3. public function __construct(){
  4. $this->observers = array();
  5. }
  6. public functionattach(S plObserver $observer) {
  7. $this->observers[] = $observer;
  8. }
  9. public function detach(SplObserver $observer){
  10. if($idx = array_search($observer, $this->observers, true)){
  11. unset($this->observers[$idx]);
  12. }
  13. }
  14. public function Notice(){
  15. foreach($this->observers as $observer){
  16. $observer->update($this );
  17. }
  18. }
  19. public function setValue($value){
  20. $this->value = $value;
  21. $this->notify();
  22. }
  23. public function getValue(){
  24. $を返すthis->value;
  25. }
  26. }
  27. class DemoObserverimplements SplObserver{
  28. public function update(SplSubject $subject){
  29. echo '新しい値は ' です。 $subject->getValue();
  30. }
  31. }
  32. $subject = new DemoSubject();
  33. $observer = new DemoObserver();
  34. $subject->attach($observer);
  35. $subject-> setValue(5);
复制代


声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。