這篇文章主要介紹“PHP中觀察者模式的原理和應用”,在日常操作中,相信很多人在PHP中觀察者模式的原理和應用問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”PHP中觀察者模式的原理和應用”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
目前創(chuàng)新互聯(lián)公司已為近1000家的企業(yè)提供了網(wǎng)站建設、域名、雅安服務器托管、網(wǎng)站托管、服務器托管、企業(yè)網(wǎng)站設計、余干網(wǎng)站維護等服務,公司將堅持客戶導向、應用為本的策略,正道將秉承"和諧、參與、激情"的文化,與客戶和合作伙伴齊心協(xié)力一起成長,共同發(fā)展。
觀察者:
它是一種事件系統(tǒng),意味著這一模式允許某個類觀察另一一個類的狀態(tài),當被觀察的類狀態(tài)發(fā)生改變的時候,觀察類可以收到通知并且做出相應的動作;觀察者模式提供了避免組件之間緊密耦合的另一種方法;
我們還是以代碼為例,我們新建一個文件,然后定義一個類,然后在類里面寫入一個成員屬性,他是一個數(shù)組用來存放觀察者,緊接著我們在定義一個方法,這個方法是用來存放觀察者和添加觀察者的,當被觀察者做出行為的時候,讓觀察者得到通知,并且做出一定反應,代碼為例:
observers[]=$observer; } //花錢方法 function buy() { //當被觀察者做出這個行為的時候,讓觀察者得到通并且做出一-定的反應 foreach ($this->observers as $girl) { $girl->pome(); } } } class GirlFriend { function pome() { echo'我只明白一件事,愛一個人,是那么痛苦
'; } } //創(chuàng)建對象 $xiaoming = new Man(); $xiaohua =new GirlFriend(); $xiaoli = new GirlFriend(); //添加觀察者 $xiaoming->addObserver( $xiaohua); $xiaoming->addObserver($xiaoli); $xiaoming->buy();
運行結果如下:
有添加觀察者這樣一個方法,那就有刪除觀察者的方法,因此我們還要添加一個刪除觀察者的方法,
function delObserver($observer) { //查找對應值在數(shù)組中的鍵 $key = array_search($observer,$this->observers); //根據(jù)鍵刪除值,并且數(shù)組重新索引 array_splice($this->observers, $key, 1); } }
//刪除
$xiaoming->delObserver( $xiaohua);
代碼如下:
到此,關于“PHP中觀察者模式的原理和應用”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續(xù)學習更多相關知識,請繼續(xù)關注創(chuàng)新互聯(lián)網(wǎng)站,小編會繼續(xù)努力為大家?guī)砀鄬嵱玫奈恼拢?/p>
網(wǎng)站欄目:PHP中觀察者模式的原理和應用
本文URL:http://weahome.cn/article/jeioos.html