爲什麼要將代碼寫入Laravel事件監聽器,如Event::listen('user.login', 'LoginHandler')
而不是直接寫入控制器函數?爲什麼要使用事件監聽器而不是庫類或根本不使用它
如果幾個不同的控制器函數調用相同的代碼,爲什麼要使用Event監聽器而不是從庫類調用靜態函數?
爲什麼要將代碼寫入Laravel事件監聽器,如Event::listen('user.login', 'LoginHandler')
而不是直接寫入控制器函數?爲什麼要使用事件監聽器而不是庫類或根本不使用它
如果幾個不同的控制器函數調用相同的代碼,爲什麼要使用Event監聽器而不是從庫類調用靜態函數?
一個可能的實例是爲您的網站編寫「插件」,可以隨意啓用/禁用並掛鉤核心代碼中的某些事件。
如果你只是想完全控制代碼而寫個人使用的東西,你應該只使用庫類。
例如,我創建了一個包,每次用戶登錄時都要發送一個API調用,使用Event listener,我只需簡單地添加事件而不用觸摸庫。
現在如果我改變庫類呢?如果有另一個軟件包要替換相同的庫類,會發生什麼?這將變得單調乏味(或者更加有限),你必須選擇另一個選項。