摘要:提供了一種全新的發送通知的方式。個人理解是可以基于某事件操作觸發一系列的通知任務,而通知方式由通知渠道接管,這樣使得通知或推送邏輯更抽象,更易于管理和重構。在之前,我是利用的來完成這一系列通知。使用的配置文件還是原來的,無需重新配置。
Laravel Notification
Laravel 5.3 提供了一種全新的發送通知的方式:Notification 。個人理解是可以基于某事件(操作)觸發一系列的通知任務,而通知方式由 Channel (通知渠道)接管,這樣使得通知(或推送)邏輯更抽象,更易于管理和重構。
舉個例子,在用戶完成訂單支付后,你需要給用戶發送郵件、短信提醒用戶的訂單已完成支付,還需要提醒倉管有新訂單需要發貨,如果是重要的訂單可能還需要通知 Boss 剛剛有用戶支付了一筆大訂單,如果你的應用提供客戶端,你可能還需要給用戶的 iOS/Android/Mac/Windows 等 App 發送推送通知,當然也包括瀏覽器的通知。你可能還需要把這個通知實時廣播出去,讓用戶的網頁無刷新實時更新狀態等。除此之外,像訂單操作這么重要的東西,你應該要記錄日志。
在 5.3 之前,我是利用 Laravel 的 Model Event, Broadcast Event, Event Listener, Job, Queue 來完成這一系列通知。我之前在 laravel-bearychat 這個擴展包的文檔中給了一個發送異步消息的示例。
現在 5.3 的一個 Notification 就可以囊括所有了,更重要的是代碼分離。當用戶完成訂單支付后,只需要通過在 controller 或 model 中手動調用或者監聽 Order model 的訂單狀態來自動調用 OrderPaidNotification 這個通知,剩下的事就都交給 OrderPaidNotification 了。
Notification 的具體使用請參閱官方文檔:https://laravel.com/docs/mast...
第三方 ChannelsLaravel 5.3 內置支持 Mail, Database, Broadcast, SMS, Slack 這幾種 Channel 。
因為有很多第三方的通知(或推送)服務,官方專門搞了個組織來維護民間的 channels ,比如 Twitter, Facebook, Telegram, Evernote, IFTTT, Apple APNs 等。
Laravel Notification Channels 主頁:http://laravel-notification-c...
GitHub 組織:https://github.com/laravel-no...
如果你在使用國內的某服務,可以考慮做成一個擴展包供大伙使用。????
兼容 Laravel 5.2 / 5.1使用 laravel-notification-channels/backport 這個擴展包,在 Laravel 5.2 / 5.1 上也可以使用 Laravel 5.3 的 Notification 。
項目主頁:https://github.com/laravel-no...
BearyChat Channel我周末做了一個 BearyChat 的通知渠道 BearyChatChannel,是在之前 Laravel-BearyChat 這個擴展包的基礎上開發的,可以跟其兼容使用。
因為之前寫的 Message 類和 Laravel 5.3 Notification 的 message 的設計理念高度相似,所以在新包中可以無縫遷移。其實我就是直接使用的舊的 Message 類,因為這樣可以跟舊包兼容,而且這個 Message 除了發送通知還有響應 Outgoing 的功能。
正在使用 Laravel-BearyChat 的小伙伴在升級 Laravel 5.3 后可以使用 Notification+BearyChatChannel 這種新方式發送機器人消息,也可以使用原來的方式,互不影響。
BearyChatChannel 使用的配置文件還是原來的 config/bearychat.php,無需重新配置。
如果你注冊了 BearyChatChannel 的 ServiceProvider ,原來的 ElfSundaeBearyChatLaravelServiceProvider 可有可無。
BearyChatChannel 項目主頁及文檔:https://github.com/laravel-no...
?歡迎 Star 歡迎 Issue
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/30389.html
摘要:后臺經常需要給管理員老板運營推送一些事件消息,比如有用戶購買了報錯服務器流量預警有新的評論收到新的意見反饋今日超過等等。 后臺經常需要給管理員/老板/運營推送一些事件消息,比如有用戶購買了VIP、PHP 報錯、服務器流量預警、App Store 有新的評論、收到新的意見反饋、今日 DAU 超過 10W+ 等等。我之前是做了一個簡單的 iOS 應用來接收 Push 消息,需要推送消息時就...
摘要:修改在方法中添加如下代碼就可以了日志機器人好了,在代碼中故意寫個錯誤,看看收到錯誤日志了。如果覺得本篇文章對您十分有益,何不打賞一下 本文最早發表于本人博客: 制作一個BearyChat的Laravel項目錯誤日志通知機器人 Laravel 集成?Monolog?來做日志處理,Monolog非常強大,也容易擴展,其實它本身已經支持很多Handler了,你可以把日志發送到郵件或者其他日志...
摘要:發布于年月,從那時起大約每六個月會發布一次的新版本。將會支持相對較新的來管理項目中的環境文件。棄用和輔助函數所有的和全局輔助函數都已棄用,將在中刪除。將返回更干凈的相同值。和通知和通知已從主項目中刪除,并提取到第三方軟件包中。 showImg(https://segmentfault.com/img/remote/1460000018269419?w=585&h=400); 無論是從零...
摘要:在登錄后臺時也是必須認證才行。使用這種總比粗暴的限制訪問來保護安全要高效的多,一切都是為了自動化,為了提高生產率。總結本文主要學習使用這個神器來做,并學習了如何使用集成進程序中。我司最近需要一名伙伴一起共同航海去,有興趣速來。 說明:本文主要研究利用Duo來實現雙重認證,Two-Factor Authentication就是除了username-password這種登錄認證之外,還使用...
閱讀 3977·2021-09-22 16:03
閱讀 5311·2021-09-22 15:40
閱讀 1190·2021-09-06 15:02
閱讀 866·2019-08-30 15:53
閱讀 2215·2019-08-29 15:35
閱讀 1105·2019-08-23 18:22
閱讀 3333·2019-08-23 16:06
閱讀 643·2019-08-23 12:27