PHP 관찰자 모드 정의 및 용법 인 스 턴 스 분석

2394 단어 PHP관찰자 모드
본 논문 의 사례 는 PHP 관찰자 모델 의 정의 와 용법 을 서술 하 였 다.여러분 께 참고 하도록 공유 하 겠 습 니 다.구체 적 으로 는 다음 과 같 습 니 다.
내 가 이해 하 는 관찰자 모델 은 우리 가 사건 을 촉발 할 때 이 조작 을 내 가 알려 주 고 싶 은 대상 에 게 알려 주 고 그들 이 모두 이 조작 을 수행 하도록 하 는 것 이다.바로 그들 을 이 사건 에 연결 시 키 는 것 이다.
1.기본 클래스 를 정의 합 니 다.
EventGenerator.php

<?php
abstract class EventGenerator
{
  //     ,             ,       
  private $observers = array();
  //     ,           
  public function addObserver($observer)
  {
    $this->observers[] = $observer;
  }
  //     
  public function notify()
  {
    //            
    foreach($this->observers as $observer)
    {
      //      update  ,                 update  ,            ,               
      $observer->update();
    }
  }
}
?>

인터페이스 파일 을 정의 하여 모든 관찰자 가 update 방법 Observer.php 를 실현 하도록 합 니 다.

<?php
interface Observer
{
  function update();
}
?>

관찰자 모드 를 구현 하 는 파일 Event.php 를 정의 합 니 다.

<?php
header('Content-Type:text/html;charset=utf-8');
define('BASEDIR', __DIR___);
require 'Config.php';
spl_autoload_register('Config::autoload');
//         
class Event extends EventGenerator
{
  //                  
  public function trigger()
  {
    echo '        !<br/>
'; // $this->notify(); } } // 1 class Observer1 implements Observer { public function update() { echo ' 1, ! !<br/>
'; } } // 2 class Observer2 implements Observer { public function update() { echo ' 2, ! !<br/>
'; } } // ! $event = new Event(); // $event->addObserver(new Observer1); $event->addObserver(new Observer2); // trigger $event->trigger(); // ! // ! // 1, ! ! // 2, ! ! ?>
더 많은 PHP 관련 내용 에 관심 이 있 는 독자 들 은 본 사이트 의 주 제 를 볼 수 있다.
본 논문 에서 말 한 것 이 여러분 의 PHP 프로 그래 밍 에 도움 이 되 기 를 바 랍 니 다.

좋은 웹페이지 즐겨찾기