91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

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

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

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

台北市| 拉萨市| 天长市| 河北区| 黄石市| 安福县| 绥棱县| 北辰区| 灵川县| 建阳市| 芜湖县| 巴中市| 岳普湖县| 清苑县| 武隆县| 全椒县| 东莞市| 三都| 灌南县| 丹凤县| 太仆寺旗| 湄潭县| 昭通市| 呈贡县| 察哈| 新沂市| 石柱| 花莲市| 盐边县| 化州市| 鸡西市| 芦溪县| 灵武市| 伊宁县| 永州市| 四子王旗| 故城县| 广西| 内乡县| 延川县| 安庆市|