真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

如何在PHP項目中應(yīng)用觀察者模式-創(chuàng)新互聯(lián)

這篇文章給大家介紹如何在PHP項目中應(yīng)用觀察者模式,內(nèi)容非常詳細(xì),感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。

專注于為中小企業(yè)提供網(wǎng)站設(shè)計、網(wǎng)站建設(shè)服務(wù),電腦端+手機端+微信端的三站合一,更高效的管理,為中小企業(yè)封丘免費做網(wǎng)站提供優(yōu)質(zhì)的服務(wù)。我們立足成都,凝聚了一批互聯(lián)網(wǎng)行業(yè)人才,有力地推動了數(shù)千家企業(yè)的穩(wěn)健成長,幫助中小企業(yè)通過網(wǎng)站建設(shè)實現(xiàn)規(guī)模擴充和轉(zhuǎn)變。

一、首先得有兩個接口類,用以框定觀察者模式,

一個被觀察者接口類(一般申明有三個必須方法:1.添加觀察者對象的方法,2.刪除觀察者對象的方法 ,3.通知觀察者進(jìn)行  相應(yīng)執(zhí)行的方法),

一個觀察者接口類(一般只有一個必須方法,就是執(zhí)行)

如果直接甩代碼可能有點難理解,那么就先給個示意圖來明確一下吧!

如何在PHP項目中應(yīng)用觀察者模式

二、根據(jù)觀察者接口類的框定我們定下接口類如下代碼:

(示例是網(wǎng)上抄的,因為易于理解,申明一下出處,網(wǎng)址:https://www.jb51.net/article/170753.htm):

三、根據(jù)框定的結(jié)構(gòu),大概的理解一下就是,要實現(xiàn) 被觀察者對象 存儲各種觀察者對象(完成各種功能的對象)存儲起來,然后通只各觀察者執(zhí)行自己的功能,先看看如下的實現(xiàn)代碼

_observers[]=$observer;
   }
   //用于刪除觀察者對象
   public function detach(Observer $observer){
    $index = array_search($observer, $this->_observers);
    if ($index === FALSE || ! array_key_exists($index, $this->_observers)) {
      return FALSE;
    }
    unset($this->_observers[$index]);
    return TRUE;
   }
   //通知各觀察者
   public function notify(){
     //****重點,其實就是循環(huán)中執(zhí)行各觀察這對象的watch方法,不同功能方法內(nèi)容不同但方法名相同
     foreach ($this->_observers as $observer) {
       $observer->watch();
     }
   }
 }
// cat觀察者繼承類
class Cat implements Observer{
   public function watch(){
     echo "Cat watches TV
";    }  }   //dog觀察者繼承類  class Dog implements Observer{    public function watch(){      echo "Dog watches TV
";    }  }   //people觀察者繼承類  class People implements Observer{    public function watch(){      echo "People watches TV
";    }  }

好了,我們現(xiàn)在通過上面的繼承就能明白了,觀察者就是定義各種功能的對象(這些對象就是:比如給第一次登錄的用戶發(fā)紅包,給用戶新的10條文章推送,給非vip用戶推送10條需要注冊才能打開的視頻誘導(dǎo)用戶開通vip。。。。),被觀察者對象要實現(xiàn)的就是 將添加(注冊)的觀察者對象存儲起來并逐個通知執(zhí)行觀察者各自的功能,

四、那么就進(jìn)行實例化對象進(jìn)行操作了!代碼如下:

// 應(yīng)用實例
$action=new Action();
$action->register(new Cat());
$action->register(new People());
$action->register(new Dog());
$action->notify();

關(guān)于如何在PHP項目中應(yīng)用觀察者模式就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,可以學(xué)到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。


文章標(biāo)題:如何在PHP項目中應(yīng)用觀察者模式-創(chuàng)新互聯(lián)
URL地址:http://weahome.cn/article/dippcj.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部