使用 Laravel Snooze 自动化未来的通知和提醒

发布于 作者:

Automate Future Notifications and Reminders with Laravel Snooze image

Laravel Snooze 是 Thomas Kane 开发的一个包,它简化了在 Laravel 中自动执行未来通知和提醒的过程。

该包的 README 文件中包含了该包的一些典型用例。

  • 提醒系统(约会前 1 周、1 天、1 小时等)
  • 后续调查(购买后 2 天)
  • 入职电子邮件滴灌(注册后发送欢迎邮件,3 天后发送其他提示,7 天后发送升级优惠)
  • 短期定期报告(在接下来的 4 周内每周发送)

Snooze 为您的模型提供了一个名为 SnoozeNotifiable 的特性,该特性添加了一个 notifyAt() 方法。

use Thomasjohnkane\Snooze\Traits\SnoozeNotifiable;
 
class User extends Model {
use SnoozeNotifiable;
 
// …
}
 
// Schedule a birthday notification
$user->notifyAt(new BirthdayNotification, Carbon::parse($user->birthday));
 
// Schedule for a week from now
$user->notifyAt(new NextWeekNotification, Carbon::now()->addDays(7));
 
// Schedule for new years eve
$user->notifyAt(new NewYearNotification, Carbon::parse('last day of this year'));

您还可以使用 ScheduledNotification::create() 方法发送匿名通知。

$target = (new AnonymousNotifiable)
->route('mail', '[email protected]')
->route('sms', '56546456566');
 
ScheduledNotification::create(
$target, // Target
new ScheduledNotificationExample($order), // Notification
Carbon::now()->addDay() // Send At
);

如果您有一些应该阻止通知发送的逻辑,您可以在通知类中定义逻辑。

public function shouldinterrupt($notifiable) {
return $this->invoice->is_paid;
}

有关更详细的信息,请查看 Thomas Kane 的详细文章 使用 Snooze 调度 Laravel 通知

该包的选项和代码 API 为将来发送通知提供了绝佳的体验,因此请务必通读所有文档。

您可以在 GitHub 上了解更多关于该包的信息,获取完整的安装说明并查看源代码:thomasjohnkane/snooze

Paul Redmond photo

Laravel 新闻的撰稿人。全栈 Web 开发人员和作家。

归类于
Cube

Laravel 新闻稿

加入 4 万多名其他开发人员,不要错过任何新提示、教程等。

Laravel Forge logo

Laravel Forge

轻松创建和管理您的服务器,并在几秒钟内部署您的 Laravel 应用程序。

Laravel Forge
Tinkerwell logo

Tinkerwell

Laravel 开发人员必备的代码运行器。使用 AI、自动补全和对本地和生产环境的即时反馈进行调试。

Tinkerwell
No Compromises logo

绝不妥协

Joel 和 Aaron,来自“绝不妥协”播客的两名经验丰富的开发人员,现已开放为您的 Laravel 项目提供服务。⬧ 固定价格为每月 7500 美元。⬧ 没有冗长的销售流程。⬧ 没有合同。⬧ 100% 退款保证。

绝不妥协
Kirschbaum logo

Kirschbaum

提供创新和稳定性,确保您的 Web 应用程序取得成功。

Kirschbaum
Shift logo

Shift

正在运行旧版本的 Laravel?即时、自动的 Laravel 升级和代码现代化,使您的应用程序保持新鲜。

Shift
Bacancy logo

Bacancy

为您的项目配备一名经验丰富的 Laravel 开发人员,他们拥有 4-6 年的经验,每月只需 2500 美元。获取 160 小时的专业知识和无风险的 15 天试用期。立即预约电话!

Bacancy
Lucky Media logo

Lucky Media

现在就选择 Lucky - Laravel 开发的理想选择,拥有十多年的经验!

Lucky Media
Lunar: Laravel E-Commerce logo

Lunar:Laravel 电子商务

Laravel 电子商务。一个开源包,将现代无头电子商务功能的强大功能带到 Laravel。

Lunar:Laravel 电子商务
LaraJobs logo

LaraJobs

官方 Laravel 招聘板

LaraJobs
SaaSykit: Laravel SaaS Starter Kit logo

SaaSykit:Laravel SaaS 启动工具包

SaaSykit 是一个 Laravel SaaS 启动工具包,包含运行现代 SaaS 所需的所有功能。支付、漂亮的结账、管理面板、用户仪表板、身份验证、即用型组件、统计数据、博客、文档等等。

SaaSykit:Laravel SaaS 启动工具包
Rector logo

Rector

您无缝升级 Laravel、降低成本和加速创新的合作伙伴,助力企业取得成功。

Rector
MongoDB logo

MongoDB

通过强大的 MongoDB 和 Laravel 集成来增强您的 PHP 应用程序,使开发人员能够轻松高效地构建应用程序。支持事务、搜索、分析和移动用例,同时使用熟悉的 Eloquent API。了解 MongoDB 的灵活、现代数据库如何改变您的 Laravel 应用程序。

MongoDB
Maska is a Simple Zero-dependency Input Mask Library image

Maska 是一个简单的零依赖输入掩码库

阅读文章
Add Swagger UI to Your Laravel Application image

将 Swagger UI 添加到您的 Laravel 应用程序

阅读文章
Assert the Exact JSON Structure of a Response in Laravel 11.19 image

在 Laravel 11.19 中断言响应的精确 JSON 结构

阅读文章
Build SSH Apps with PHP and Laravel Prompts image

使用 PHP 和 Laravel Prompts 构建 SSH 应用程序

阅读文章
Building fast, fuzzy site search with Laravel and Typesense image

使用 Laravel 和 Typesense 构建快速、模糊的网站搜索

阅读文章
Add Comments to your Laravel Application with the Commenter Package image

使用 Commenter 包为您的 Laravel 应用程序添加评论

阅读文章