第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

laravel 事件監(jiān)聽(tīng)中的code如何編寫(xiě)更合理

laravel 事件監(jiān)聽(tīng)中的code如何編寫(xiě)更合理

慕森王 2018-07-08 11:11:17
初次使用laravel的事件監(jiān)聽(tīng)功能,想要實(shí)現(xiàn)如下業(yè)務(wù)邏輯,請(qǐng)教如何編寫(xiě)合理的代碼!//controller codesclass OrderController extends Controller{    function create()    {        //do something ...                        event(new OrderWasCreated($order_id));    }}//api codesclass ApiController extends Controller{    function sendEmail()    {        //do something ...    }}//Listeners codesclass SendEmail{    public function handle(OrderWasCreated $event)    {        //send email ...    }}有如上三段代碼,現(xiàn)在就是想實(shí)現(xiàn)當(dāng)訂單創(chuàng)建時(shí)在監(jiān)聽(tīng)器中發(fā)送郵件的業(yè)務(wù)邏輯,不過(guò)我不太清楚應(yīng)該將處理郵件發(fā)送的代碼寫(xiě)在哪里比較合適?于是我創(chuàng)建了一個(gè)api做處理,應(yīng)該如何與監(jiān)聽(tīng)器關(guān)聯(lián)呢???
查看完整描述

3 回答

?
精慕HU

TA貢獻(xiàn)1845條經(jīng)驗(yàn) 獲得超8個(gè)贊

一般在Listeners 里面就可以完成發(fā)送郵件了,你想用api的話(huà),可以把a(bǔ)pi作為全局的helper來(lái)用,或者use ../Api, 然后在SendEmail handle方法new Api()調(diào)用

查看完整回答
反對(duì) 回復(fù) 2018-07-12
?
慕尼黑8549860

TA貢獻(xiàn)1818條經(jīng)驗(yàn) 獲得超11個(gè)贊

如果是我的話(huà),我會(huì)這么做

首先先創(chuàng)建一個(gè)OrderCreated的事件

再創(chuàng)建一個(gè)OrderCreatedListener,監(jiān)聽(tīng)OrderCreated事件

再創(chuàng)建一個(gè)OrderCreatedNotification,用于處理訂單創(chuàng)建的通知

最后創(chuàng)建一個(gè)OrderCreatedMail,用于生成通知郵件

調(diào)用方式是控制器觸發(fā)OrderCreated事件,OrderCreatedListener監(jiān)聽(tīng)到事件,觸發(fā)OrderCreatedNotification,OrderCreatedNotification再調(diào)用OrderCreateMail生成通知郵件,最后發(fā)送

這么做的好處

  1. 通知從監(jiān)聽(tīng)器解耦。監(jiān)聽(tīng)器不僅僅只做通知的功能,還可以做例如訂單超時(shí)關(guān)閉等其他功能(當(dāng)然也可以額外再創(chuàng)建一個(gè)Listener處理)。

  2. 通知非常易于擴(kuò)展。后期可以非常方便的擴(kuò)展通知頻道,比如App通知、短信通知等。

  3. Mail與通知解耦。通知里面可以根據(jù)用戶(hù)類(lèi)型,調(diào)用不同的通知郵件,例如針對(duì)VIP用戶(hù)和普通用戶(hù),調(diào)用不同的Mail類(lèi)模板,生成不同的Mail。

題主可以根據(jù)自己的業(yè)務(wù)復(fù)雜程度進(jìn)行相應(yīng)的增減步驟


查看完整回答
反對(duì) 回復(fù) 2018-07-12
  • 3 回答
  • 0 關(guān)注
  • 266 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢(xún)優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)