2015-07-19 74 views
1

我正在寫郵件寫/發送一個相對簡單的Laravel 4.2包。該組件應該監聽主應用程序(或其他組件)中的用戶定義事件,並在事件觸發時發送。Laravel事件監聽器在包中,放在哪裏?

我已經創建了多語言郵件編輯和事件關聯,但現在我不知道在哪裏正確放置並設置了我的「foreach」事件循環來在組件中創建實際的偵聽器。

任何人都可以幫到我嗎?

爲了更好地解釋,我想在組件做什麼:

  • 允許管理員從後端寫電子郵件模板
  • 每個電子郵件(或mailset)關聯到規定的事件(例如。 'user.create')
  • 應用程序執行時,組件循環遍歷保存的事件並註冊實際的偵聽器如果在執行期間主應用程序或其他組件觸發事件,郵件組件會通過發送相應的電子郵件。

親切的問候, 費德里科

回答

1

好吧,我花了少量測試發現什麼,我相信是事件的適當地點::聽()循環我指的是。

我知道我可以將聽衆添加到我想要的地方,但對於我不知道的組件而言。最後,我決定在ServiceProvider的boot()方法中構建它。現在

我的組件的ServiceProvider執行以下操作:

  • 收集的事件監聽來自數據庫;
  • 爲每個找到的行分配一個偵聽器;
  • 在主應用程序觸發相關事件的情況下運行閉包函數。

Laravel足夠簡單!