事件訂閱者

2018-02-24 15:52 更新

定義事件訂閱者

事件訂閱者是個(gè)可以從類自身里面訂閱多個(gè)事件的類。訂閱者應(yīng)該定義 subscribe 方法,事件配送器實(shí)體將會(huì)被傳遞到這個(gè)方法:

class UserEventHandler {

    /**
     * 處理用戶登錄事件。
     */
    public function onUserLogin($event)
    {
        //
    }

    /**
     * 處理用戶注銷事件。
     */
    public function onUserLogout($event)
    {
        //
    }

    /**
     * 注冊(cè)監(jiān)聽器給訂閱者。
     *
     * @param  Illuminate\Events\Dispatcher  $events
     * @return array
     */
    public function subscribe($events)
    {
        $events->listen('App\Events\UserLoggedIn', 'UserEventHandler@onUserLogin');

        $events->listen('App\Events\UserLoggedOut', 'UserEventHandler@onUserLogout');
    }

}

注冊(cè)事件訂閱者

當(dāng)定義了訂閱者后,可以使用 Event 類注冊(cè)。

$subscriber = new UserEventHandler;

Event::subscribe($subscriber);

你也可以使用 服務(wù)容器 自動(dòng)解析訂閱者。簡(jiǎn)單地傳遞訂閱者的名字給 subscribe 方法就可以做到:

Event::subscribe('UserEventHandler');

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)