亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

php設(shè)計(jì)模式之觀察者模式定義與用法經(jīng)典示例

 更新時(shí)間:2019年09月19日 09:52:30   作者:巴八靈  
這篇文章主要介紹了php設(shè)計(jì)模式之觀察者模式定義與用法,結(jié)合完整實(shí)例形式詳細(xì)分析了php觀察者模式概念、原理、定義與使用方法,代碼注釋包含詳盡的說明,需要的朋友可以參考下

本文實(shí)例講述了php設(shè)計(jì)模式之觀察者模式定義與用法。分享給大家供大家參考,具體如下:

<?php
/**
 * @desc 利用觀察者模式,實(shí)現(xiàn)不同用戶進(jìn)入顯示不同的內(nèi)容
 * 1.主題
 * 2.觀察者接口
 * 3.觀察者
 * ***/
interface Observer{
  //添加觀察者對(duì)象
  public function attach($observer);
  //刪除觀察者對(duì)象
  public function detach($observer);
  //執(zhí)行觀察者需要執(zhí)行的方法
  public function doIt();
}
class User implements Observer{
  public $obj = [];
  /*
  *@desc 傳遞的對(duì)象不在存儲(chǔ)的obj對(duì)象中則將對(duì)象存儲(chǔ)到obj中
  */
  public function attach($observer){
    if(!in_array($observer,$this->obj)){
      $this->obj[] = $observer;
    }
  }
  /**
   * @desc 取消觀察者觀察
   * **/
  public function detach($observer){
    $key = array_search($observer, $this->obj);
    if($key){
      unset($this->obj[$key]);
    }
  }
  /***
   * @desc 獲取所有被觀察者的對(duì)象,執(zhí)行觀察
   * **/
  public function doIt(){
    if(!empty($this->obj)){
      foreach ($this->obj as $v){
        $v->active();
      }
    }
  }
}
/**
 * @desc 觀察者接口
 * **/
interface obsUser{
  public function active();
}
/*
 * @實(shí)現(xiàn)零售店用戶實(shí)現(xiàn)方法類
 * **/
class storeUser implements obsUser{
  public function active(){
    echo "我是零售店用戶\n";
  }
}
/**
 * @desc 實(shí)現(xiàn)經(jīng)銷商用戶方法類
 * **/
class supplierUser implements obsUser{
  public function active(){
    echo "我是經(jīng)銷商用戶\n";
  }
}
/*
 * 實(shí)例化觀察者接口類
 * **/
$user = new User();
//添加門店用戶類到觀察者對(duì)象
$user->attach(new storeUser());
//添加經(jīng)銷商用戶類到觀察者對(duì)象
$user->attach(new supplierUser());
//監(jiān)控觀察者動(dòng)作并輸出結(jié)果
$user->doIt();

運(yùn)行結(jié)果:

我是零售店用戶
我是經(jīng)銷商用戶

更多關(guān)于PHP相關(guān)內(nèi)容感興趣的讀者可查看本站專題:《php面向?qū)ο蟪绦蛟O(shè)計(jì)入門教程》、《PHP數(shù)組(Array)操作技巧大全》、《PHP基本語(yǔ)法入門教程》、《PHP運(yùn)算與運(yùn)算符用法總結(jié)》、《php字符串(string)用法總結(jié)》、《php+mysql數(shù)據(jù)庫(kù)操作入門教程》及《php常見數(shù)據(jù)庫(kù)操作技巧匯總

希望本文所述對(duì)大家PHP程序設(shè)計(jì)有所幫助。

相關(guān)文章

  • apache mysql php 源碼編譯使用方法

    apache mysql php 源碼編譯使用方法

    今天完成了 php mysql 和apache 的配置 主要是源碼配置,需要的朋友可以參考下
    2012-05-05
  • PHP中針對(duì)區(qū)域語(yǔ)言標(biāo)記信息的操作

    PHP中針對(duì)區(qū)域語(yǔ)言標(biāo)記信息的操作

    大家都知道Locale 類就是操作區(qū)域語(yǔ)言相關(guān)內(nèi)容的,它無(wú)法被實(shí)例化,所有全部功能方法都是靜態(tài)的。接下來通過本文給大家分享PHP中針對(duì)區(qū)域語(yǔ)言標(biāo)記信息的操作,需要的朋友參考下吧
    2021-07-07
  • Laravel學(xué)習(xí)基礎(chǔ)之migrate的使用教程

    Laravel學(xué)習(xí)基礎(chǔ)之migrate的使用教程

    這篇文章主要給大家介紹了關(guān)于Laravel學(xué)習(xí)基礎(chǔ)之migrate使用的相關(guān)資料,文中通過示例代碼介紹非常詳細(xì),分別介紹了生成遷移、遷移結(jié)構(gòu)、運(yùn)行遷移和回滾遷移等實(shí)現(xiàn)的方法,需要的朋友可以參考借鑒,下面來一起看看吧。
    2017-10-10
  • PHP使用遞歸生成文章樹

    PHP使用遞歸生成文章樹

    寫遞歸函數(shù),可考慮緩存,定義一些靜態(tài)變量來存上一次運(yùn)行的結(jié)果,多程序運(yùn)行效率很有幫助.大概步驟如下:首先到數(shù)據(jù)庫(kù)取數(shù)據(jù),放到一個(gè)數(shù)組,然后把數(shù)據(jù)轉(zhuǎn)化為一個(gè)樹型狀的數(shù)組,最后把這個(gè)樹型狀的數(shù)組轉(zhuǎn)為html代碼。下面我們來看個(gè)實(shí)例
    2015-04-04
  • php發(fā)送post請(qǐng)求的三種方法

    php發(fā)送post請(qǐng)求的三種方法

    這篇文章主要介紹了php發(fā)送post請(qǐng)求的三種方法,分別使用curl、file_get_content、fsocket來實(shí)現(xiàn)post提交數(shù)據(jù),需要的朋友可以參考下
    2014-02-02
  • PHP中使用FFMPEG獲取視頻縮略圖和視頻總時(shí)長(zhǎng)實(shí)例

    PHP中使用FFMPEG獲取視頻縮略圖和視頻總時(shí)長(zhǎng)實(shí)例

    這篇文章主要介紹了PHP中使用FFMPEG獲取視頻縮略圖和視頻總時(shí)長(zhǎng)實(shí)例,需要的朋友可以參考下
    2014-05-05
  • ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join實(shí)例

    ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join實(shí)例

    這篇文章主要介紹了ThinkPHP采用原生query實(shí)現(xiàn)關(guān)聯(lián)查詢left join的方法,實(shí)例展示了ThinkPHP中query方法的使用技巧,需要的朋友可以參考下
    2014-12-12
  • Zend Framework創(chuàng)建自己的動(dòng)作助手詳解

    Zend Framework創(chuàng)建自己的動(dòng)作助手詳解

    這篇文章主要介紹了Zend Framework創(chuàng)建自己的動(dòng)作助手實(shí)現(xiàn)方法,結(jié)合實(shí)例形式分析了基于助手的抽象基類Zend_Controller_Action_Helper_Abstract實(shí)現(xiàn)自定義動(dòng)作助手的相關(guān)技巧,需要的朋友可以參考下
    2016-03-03
  • phpphp圖片采集后按原路徑保存圖片示例

    phpphp圖片采集后按原路徑保存圖片示例

    這篇文章主要介紹了phpphp圖片采集后按原路徑保存圖片示例,需要的朋友可以參考下
    2014-02-02
  • Yii2-GridView 中讓關(guān)聯(lián)字段帶搜索和排序功能示例

    Yii2-GridView 中讓關(guān)聯(lián)字段帶搜索和排序功能示例

    這篇文章主要介紹了Yii2-GridView 中讓關(guān)聯(lián)字段帶搜索和排序功能示例,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下。
    2017-01-01

最新評(píng)論