這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)碛嘘P(guān)如何在PHP中實(shí)現(xiàn)一個(gè)觀察者模式,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。
為鳳山等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計(jì)制作服務(wù),及鳳山網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站制作、成都網(wǎng)站建設(shè)、鳳山網(wǎng)站設(shè)計(jì),以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會(huì)得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!觀察者模式UML圖:
在php SPL中已經(jīng)提供SplSubject和SqlOberver接口
interface SplSubject { function attach(SplObserver $observer); function detach(SplObserver $observer); function notify(); } interface SqlObserver { function update(SplSubject $subject); }
下面具體實(shí)現(xiàn)上面例子
class Subject implements SplSubject { private $observers; public function attach(SplObserver $observer) { if (!in_array($observer, $this->observers)) { $this->observers[] = $observer; } } public function detach(SplObserver $observer) { if (false != ($index = array_search($observer, $this->observers))) { unset($this->observers[$index]); } } public function post() { //post相關(guān)code $this->notify(); } private function notify() { foreach ($this->observers as $observer) { $observer->update($this); } } public function setCount($count) { echo "數(shù)據(jù)量加" . $count; } public function setIntegral($integral) { echo "積分量加" . $integral; } } class Observer1 implements SplObserver { public function update($subject) { $subject-> setCount(1); } } class Observer2 implements SplObserver { public function update($subject) { $subject-> setIntegral(10); } } class Client { public function test() { $subject = new Subject(); $subject->attach(new Observer1()); $subject->attach(new Observer2()); $subject->post();//輸出:數(shù)據(jù)量加1 積分量加10 } }
上述就是小編為大家分享的如何在PHP中實(shí)現(xiàn)一個(gè)觀察者模式了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。
本文名稱:如何在PHP中實(shí)現(xiàn)一個(gè)觀察者模式-創(chuàng)新互聯(lián)
標(biāo)題網(wǎng)址:http://jinyejixie.com/article30/pgcso.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)頁設(shè)計(jì)公司、網(wǎng)站改版、網(wǎng)站收錄、App開發(fā)、移動(dòng)網(wǎng)站建設(shè)、網(wǎng)站排名
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)
猜你還喜歡下面的內(nèi)容