好湿?好紧?好多水好爽自慰,久久久噜久噜久久综合,成人做爰A片免费看黄冈,机机对机机30分钟无遮挡

主頁 > 知識庫 > PHP觀察者模式實例分析【對比JS觀察者模式】

PHP觀察者模式實例分析【對比JS觀察者模式】

熱門標簽:余姚電話機器人 電銷機器人問門薩維品牌my 廣東廣州在怎么申請400電話 咸寧銷售電銷機器人系統 百度地圖標注偏差 外呼系統能給企業帶來哪些好處 百度地圖怎樣標注圖標 400電話蘭州申請請 開發地圖標注類網站

本文實例講述了PHP觀察者模式。分享給大家供大家參考,具體如下:

1.用js實現觀察者模式

!DOCTYPE html>
html>
head>
    title>/title>
    style type="text/css">
    div{width: 100px;height: 100px;border: 1px #999 solid;margin-bottom: 5px;}
    /style>
/head>
body>
!--
我們讓div對象觀察select的變化,selecte變化就會通知這個2個對象,并引起這2個對象的變化,實現觀察者模式。
 -->
 h1>用觀察者模式切換頁面風格/h1>
 select>
     option value="male">男式風格/option>
     option value="female">女士風格/option>
 /select>
 button onclick="t1()">觀察學習區/button>
 button onclick="t2()">不觀察學習區/button>
 div id="content">我是內容/div>
 div id="ad">我是廣告/div>
 div id="study">學習/div>
/body>
script type="text/javascript">
    var sel = document.getElementsByTagName('select')[0];
    sel.observers = {};
    sel.attach = function(key,obj){
        this.observers[key] = obj;
    }
    sel.detach = function(key){
        delete this.observers[key];
    }
    sel.onchange = sel.notify = function(){
        for(var key in this.observers){
            this.observers[key].update(this);
        }
    }
    //客戶端
    var content = document.getElementById('content');
    var ad = document.getElementById('ad');
    content.update = function(ob){
        if (ob.value == 'male') {
            this.style.backgroundColor = 'gray';
        }else if(ob.value == 'female'){
            this.style.backgroundColor = 'pink';
        }
    }
    ad.update = function(ob){
        if (ob.value == 'male') {
            this.innerHTML = '汽車';
        }else if(ob.value == 'female'){
            this.innerHTML = '減肥';
        }
    }
    //讓content觀察select的變化
    sel.attach('content',content);
    sel.attach('ad',ad);
    //新增監聽study區
    var study = document.getElementById('study');
    study.update = function(ob){
        if (ob.value == 'male') {
            this.innerHTML = '學習計算機';
        }else if(ob.value == 'female'){
            this.innerHTML = '學習美容';
        }
    }
    sel.attach('study',study);
    function t1(){
        sel.attach('study',study);
    }
    function t2(){
        sel.detach('study');
    }
/script>
/html>

2.用php實現觀察模式

?php
//php實現觀察者
//php5中提供觀察者observer和被觀察者subject的接口
class User implements SplSubject
{
    public $lognum;
    public $hobby;
    protected $observers = null;
    public function __construct($hobby)
    {
        $this->lognum = rand(1,10);
        $this->hobby = $hobby;
        $this->observers = new SplObjectStorage();
    }
    public function login()
    {
        //操作session等
        $this->notify();
    }
    public function attach(SPLObserver $observer)
    {
        $this->observers->attach($observer);
    }
    public function detach(SPLObserver $observer)
    {
        $this->observers->detach($observer);
    }
    public function notify()
    {
        $this->observers->rewind();
        while ($this->observers->valid()) {
            $observer = $this->observers->current();
            $observer->update($this);
            $this->observers->next();
        }
    }
}
//用戶安全登錄模塊
class Safe implements SPLObserver
{
    public function update(SplSubject $subject)
    {
        if ($subject->lognum  3) {
            echo '這是第' . $subject->lognum . '次安全登錄br>';
        }else{
            echo '這是第' . $subject->lognum . '次登錄,異常br>';
        }
    }
}
//廣告模塊
class Ad implements SPLObserver
{
    public function update(SplSubject $subject)
    {
        if ($subject->hobby == 'sports') {
            echo '英超開始啦br>';
        }else{
            echo '好好學習br>';
        }
    }
}
//實施觀察
// $user = new User('sports');
$user = new User('study');
$user->attach(new Safe());
$user->attach(new Ad());
$user->login();//登錄

更多關于PHP相關內容感興趣的讀者可查看本站專題:《php面向對象程序設計入門教程》、《PHP數組(Array)操作技巧大全》、《PHP基本語法入門教程》、《PHP運算與運算符用法總結》、《php字符串(string)用法總結》、《php+mysql數據庫操作入門教程》及《php常見數據庫操作技巧匯總》

希望本文所述對大家PHP程序設計有所幫助。

您可能感興趣的文章:
  • PHP設計模式之觀察者模式入門與應用案例詳解
  • PHP 觀察者模式深入理解與應用分析
  • php模式設計之觀察者模式應用實例分析
  • PHP使用觀察者模式處理異常信息的方法詳解
  • php設計模式之觀察者模式定義與用法經典示例
  • PHP中常用的三種設計模式詳解【單例模式、工廠模式、觀察者模式】
  • PHP設計模式之觀察者模式定義與用法分析
  • PHP觀察者模式定義與用法實例分析
  • 解析PHP觀察者模式Observer

標簽:十堰 鷹潭 臨沂 銅陵 衡陽 麗江 巴彥淖爾 重慶

巨人網絡通訊聲明:本文標題《PHP觀察者模式實例分析【對比JS觀察者模式】》,本文關鍵詞  PHP,觀察者,模式,實例分析,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《PHP觀察者模式實例分析【對比JS觀察者模式】》相關的同類信息!
  • 本頁收集關于PHP觀察者模式實例分析【對比JS觀察者模式】的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 久久精品视频日本| 女人脱个精光秘? 图片| 小莹的乳液计小说全文| 光屁股美女隐私打屁屁| 免费a级黄毛片| 爱情狂人| 国产AV无码亚洲AV毛片菲菲| 锵锵锵锵锵水好多免费观看 | 同桌穿长筒袜跟我h文| 撅高含着玉势羞耻惩罚| 我脱了小雪老师的丝袜内裤| 老师你的兔子好软水好多作文高清| 武侠美妇被强疯狂迎合娇吟| chanelpreston欧美一区| 精品国产50部农村老熟女AV| 我要看免费无码的毛片| 国产21区| 无码国产精品一区二区| 日本老肥熟| 免费黄色一级视频| 日本tubesex人妇| 少妇高潮免费看一级A片精东影视| 情侣摸抱揉捏吃奶的视频| 一个添下面两个吃奶把腿抬高| 美女被羞羞视频网站app| 色婷婷一区二区三区久久午夜成人 | 日韩精品无码一二区色情明星| 韩国靠逼视频| 乳情欲乱视频| 国产处破苞无码精品网站下载| 韩国亚洲伊人久久综合影院| 黄色网页大全| 日本无码潮喷A片无码高潮照片| 午夜黄页网站在线播放| 在床上搞鸡| 国产成人av在线影院| 少妇做受??高潮1000牛奶| 欧美精品一区二区在线| 性一交一免一费一视一频| 色色色色网站| 人人妻人人澡人人爽人人sex网|