php框架Minor5事件(附程式碼)

PHPz
發布: 2018-10-12 09:31:35
原創
1247 人瀏覽過

5.1 事件Event

  Minor的 Event 類別提供一個簡單的觀察者實現,讓您在應用程式中訂閱與監聽事件。

5.1.1 訂閱事件

  先建立一個事件類別:

<?php

namespace App\Event;use Minor\Event\Event;class DemoEvent extends Event
{private$name;publicfunction __construct($name)
    {$this->name = $name;
    }publicfunction setName($name)
    {$this->name = $name;
    }publicfunction getName()
    {return$this->name;
    }
}
登入後複製

然後在設定檔中註冊中🀜這個事件:

<?phpreturn$events = [&#39;App\Event\DemoEvent&#39;    =>    ['App\Listener\DemoListener' => 'handle',    ],];
登入後複製

5.1.2 觸發事件

  Minor提供了一個活動管理類別:MinorEventEventManger靜態方法fire:EventManager::fire($event)就可以觸發這個事件,例:

class FooController extends Controller
{publicfunction bar($productName)
    {$event = new DemoEvent('DemoEvent');
        EventManager::fire($event);...    }
}
登入後複製

5.2 監聽器

當觸發事件後事件管理器EventManager就會透過設定檔去觸發監聽器的製定方法。在5.1.1設定檔中我們設定了DemoEvent的監聽器為AppListenerDemoListener的handle方法,可以看一下這個類別的實作:

<?php

namespace App\Listener;use App\Event\DemoEvent;use Minor\Event\Listener;class DemoListener extends Listener
{publicfunction handle(DemoEvent $event)
    {echo &#39;[DemoListener] handle the event:[&#39; . $event->getName() .'] success!

';
    }
}
登入後複製

以上就介紹了php框架之Minor5事件(附程式碼)的內容,希望對PHP教學有興趣的朋友有幫助。


相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!