Maison > développement back-end > tutoriel php > Comment implémenter le modèle d'observateur en PHP

Comment implémenter le modèle d'observateur en PHP

墨辰丷
Libérer: 2023-03-27 08:12:01
original
2004 Les gens l'ont consulté

Cet article présente principalement le modèle d'observateur implémenté en PHP, et analyse la définition et l'utilisation du modèle d'observateur en PHP avec des exemples spécifiques. Les amis dans le besoin peuvent s'y référer

Les détails sont les suivants :

<?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();
Copier après la connexion

Recommandations associées :

Mode ObservateurChanger page Le code d'implémentation de

PHPModèle d'observateur

modèle de conception php Mode ObservateurExplication détaillée

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal