PHP オブザーバー パターンの実装コード

小云云
リリース: 2023-03-20 09:40:02
オリジナル
1282 人が閲覧しました

この記事では、PHP で実装されたオブザーバー パターンを主に紹介し、具体的な例に基づいて、オブザーバー パターンの定義と使用法を分析します。


<?php
  //定义观察者调用接口
  class transfer{
    protected $_observers = array();
    //注册对象
    public function register($sub){
      $this->_observers[] = $sub;
    }
    //外部统一调用
    public function trigger(){
      if(!empty($this->_observers)){
        foreach($this->_observers as $observer){
          $observer->update();
        }
      }
    }
  }
  //观察者接口
  interface obserable{
    public function update();
  }
  //实现观察者
  class listen implements obserable{
    public function update(){
      echo &#39;now first time you need to do listen<br/>&#39;;
    }
  }
  class read implements obserable{
    public function update(){
      echo &#39;now first time you need to read<br/>&#39;;
    }
  }
  class speak implements obserable{
    public function update(){
      echo &#39;now first time you need to speak<br/>&#39;;
    }
  }
  class write implements obserable{
    public function update(){
      echo &#39;now first time you need to write<br/>&#39;;
    }
  }
  $transfer = new transfer();
  $transfer->register(new listen());
  $transfer->register(new read());
  $transfer->register(new speak());
  $transfer->register(new write());
  $transfer->trigger();
ログイン後にコピー

関連する推奨事項:

JavaScript オブザーバー パターンの例の詳細な説明

NodeJS シングルトン モード、アダプター モード、デコレーション モード、オブザーバー パターンの概要

PHP デザイン パターンのオブザーバー パターンの詳細な説明

以上がPHP オブザーバー パターンの実装コードの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート
私たちについて 免責事項 Sitemap
PHP中国語ウェブサイト:福祉オンライン PHP トレーニング,PHP 学習者の迅速な成長を支援します!