Laravel Snooze 项目教程

Laravel Snooze 项目教程

snooze A package to simplify automating future notifications and reminders in Laravel 项目地址: https://gitcode.com/gh_mirrors/sn/snooze

1. 项目介绍

Laravel Snooze 是一个用于简化 Laravel 应用程序中未来通知和提醒自动化的包。它允许开发者轻松地安排未来的通知,例如生日祝福、预约提醒、跟进调查等。Snooze 通过提供一个 notifyAt 方法,使得在特定时间发送通知变得非常简单。

2. 项目快速启动

安装

首先,通过 Composer 安装 Snooze 包:

composer require thomasjohnkane/snooze

接下来,运行迁移命令以创建必要的数据库表:

php artisan migrate

发布配置文件:

php artisan vendor:publish --provider="Thomasjohnkane\Snooze\ServiceProvider" --tag="config"

使用

使用模型特性

在你的模型中使用 SnoozeNotifiable 特性来安排通知:

use Thomasjohnkane\Snooze\Traits\SnoozeNotifiable;
use Illuminate\Notifications\Notifiable;

class User extends Model
{
    use Notifiable, SnoozeNotifiable;

    // 安排生日通知
    $user->notifyAt(new BirthdayNotification, Carbon::parse($user->birthday));

    // 安排一周后的通知
    $user->notifyAt(new NextWeekNotification, Carbon::now()->addDays(7));

    // 安排新年通知
    $user->notifyAt(new NewYearNotification, Carbon::parse('last day of this year'));
}
使用 ScheduledNotification::create 助手

你也可以使用 ScheduledNotification::create 方法来安排通知:

ScheduledNotification::create(
    Auth::user(), // 目标
    new ScheduledNotificationExample($order), // 通知
    Carbon::now()->addHour() // 发送时间
);

配置

确保 schedule:run 命令正在运行,以便自动发送通知。你可以在 config/snooze.php 文件中配置发送频率和其他选项。

3. 应用案例和最佳实践

提醒系统

一个常见的用例是创建一个提醒系统,例如在预约前一周、一天和一小时发送提醒:

$user->notifyAt(new AppointmentReminder, Carbon::parse($appointmentDate)->subWeek());
$user->notifyAt(new AppointmentReminder, Carbon::parse($appointmentDate)->subDay());
$user->notifyAt(new AppointmentReminder, Carbon::parse($appointmentDate)->subHour());

跟进调查

在购买后的两天发送跟进调查:

$user->notifyAt(new FollowUpSurvey, Carbon::now()->addDays(2));

生日祝福

在用户的生日当天发送生日祝福:

$user->notifyAt(new BirthdayNotification, Carbon::parse($user->birthday));

4. 典型生态项目

Laravel Horizon

Laravel Horizon 是一个用于管理 Laravel Redis 队列的仪表板和代码驱动程序。它可以与 Snooze 结合使用,以监控和管理未来的通知任务。

Laravel Telescope

Laravel Telescope 是一个优雅的调试助手,适用于 Laravel 应用程序。它可以与 Snooze 结合使用,以监控和调试通知的安排和发送过程。

Laravel Nova

Laravel Nova 是一个强大的管理面板,适用于 Laravel 应用程序。它可以与 Snooze 结合使用,以可视化和管理未来的通知任务。

通过这些生态项目的结合,可以进一步提升 Snooze 的功能和可管理性,使得未来的通知和提醒系统更加强大和灵活。

snooze A package to simplify automating future notifications and reminders in Laravel 项目地址: https://gitcode.com/gh_mirrors/sn/snooze

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

裴辰垚Simone

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值