亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

PHP中觀察者模式的原理和應用

發布時間:2021-06-23 11:33:32 來源:億速云 閱讀:130 作者:chen 欄目:編程語言

這篇文章主要介紹“PHP中觀察者模式的原理和應用”,在日常操作中,相信很多人在PHP中觀察者模式的原理和應用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中觀察者模式的原理和應用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

觀察者:

它是一種事件系統,意味著這一模式允許某個類觀察另一一個類的狀態,當被觀察的類狀態發生改變的時候,觀察類可以收到通知并且做出相應的動作;觀察者模式提供了避免組件之間緊密耦合的另一種方法;

我們還是以代碼為例,我們新建一個文件,然后定義一個類,然后在類里面寫入一個成員屬性,他是一個數組用來存放觀察者,緊接著我們在定義一個方法,這個方法是用來存放觀察者和添加觀察者的,當被觀察者做出行為的時候,讓觀察者得到通知,并且做出一定反應,代碼為例:

<?php
class Man
{
//用來存放觀察者
protected $observers = [];
//添加觀察者方法
function addObserver($observer)
{
  $this->observers[]=$observer;
}
//花錢方法
function buy()
{
//當被觀察者做出這個行為的時候,讓觀察者得到通并且做出一-定的反應
foreach ($this->observers as $girl) {
  $girl->pome();
}
}
}
class GirlFriend
{
function pome()
{
echo'我只明白一件事,愛一個人,是那么痛苦<br />';
}
}
//創建對象
$xiaoming = new Man();
$xiaohua =new GirlFriend();
$xiaoli = new GirlFriend();
//添加觀察者
$xiaoming->addObserver( $xiaohua); 
$xiaoming->addObserver($xiaoli);
$xiaoming->buy();

運行結果如下:

PHP中觀察者模式的原理和應用

有添加觀察者這樣一個方法,那就有刪除觀察者的方法,因此我們還要添加一個刪除觀察者的方法,

function delObserver($observer)
{
//查找對應值在數組中的鍵
$key = array_search($observer,$this->observers);
//根據鍵刪除值,并且數組重新索引
array_splice($this->observers, $key, 1);
}
}

//刪除

$xiaoming->delObserver( $xiaohua);

代碼如下:

PHP中觀察者模式的原理和應用

到此,關于“PHP中觀察者模式的原理和應用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

php
AI

青川县| 洪江市| 郯城县| 青神县| SHOW| 英山县| 黎平县| 仁怀市| 华池县| 云龙县| 拉萨市| 乐昌市| 牡丹江市| 阿克陶县| 西林县| 临沂市| 奎屯市| 渝北区| 阜新市| 璧山县| 时尚| 天门市| 合水县| 苍南县| 贞丰县| 景谷| 兴国县| 宜川县| 太原市| 崇阳县| 祁阳县| 盐边县| 钦州市| 襄樊市| 大方县| 古浪县| 罗平县| 高要市| 固镇县| 双鸭山市| 和平区|