codepotatoltd/digestif
Composer 安装命令:
composer require codepotatoltd/digestif
包简介
A digest email for Laravel database notifications
README 文档
README
What is this?
Using the database driver for laravel notifications is great, but then you need a way to communicate to your users if they've not logged in for a while. With Digestif we'll handle the digest emails for you.
Installation instructions
- Install using
composer require codepotatoltd/digestif - Ensure you have a notifications table in your database, otherwise run
php artisan notifications:tableand thenphp artisan migrate - Publish Digestif's config, notification and database migration using
php artisan vendor:publishand select the DigestifServiceProvider option. - Run
php artisan migrateto add the "digested_at" column - Open the digestif.php config file and update the User model that your app uses.
- Open your App/Console/Kernel.php and in the scheduler define how often you would like the digest process to run. E.g.
$schedule->command('digestif:pour')->hourly();Alternatively, setup your own cron process to runphp artisan digestif:pourwhen you would like emails to be sent. - Sit back and let Digestif handle the rest 🥃
Config options
Using the vendor:publish method you have full control of both the notification that we use behind the scenes. You can find this in your App/Notifications folder and you're welcome to tweak this to something that works better for you.
For example:
| Config Variable | Default | Description |
|---|---|---|
| enabled | true (boolean) | Should Digestif run or not? |
| type | simple (string) | What variety of email should it send. Only one option at the moment |
| user_model | User::class | What model is used for users that should receive the digest email |
| notifications_user_id_column | notifiable_id (string) | What column on the notifications table stores the user_id |
| read_column | read_at | What column from the notifications table stores whether the notification has been read or not |
Roadmap
-
Simple digest email - Refactor to filter out user notifications only
- Unsubscribing from the digest email
- Itemised digest emails as well as our simple counter version
- User controls to set the frequency of their digests
Upgrade Guide
To v0.20 from v0.10
Add the following to your digestif.php config file:
/*
|--------------------------------------------------------------------------
| Notifications read column
|--------------------------------------------------------------------------
|
| Please tell us what column stores the read toggle for notifications
|
*/
'read_column' => 'read_at',
To v0.10 from v0.0.2
Add the following to your digestif.php config file
/*
|--------------------------------------------------------------------------
| Notifications table user ID column
|--------------------------------------------------------------------------
|
| Please tell us what column stores the user_id used for notifications
|
*/
'notifications_user_id_column' => 'notifiable_id',
codepotatoltd/digestif 适用场景与选型建议
codepotatoltd/digestif 是一款 基于 PHP 开发的 Composer 扩展包,目前已累计 258 次下载、GitHub Stars 达 13, 最近一次更新时间为 2020 年 10 月 05 日, 在 PHP 生态内属于活跃度较高的组件。
我们在过去多个企业项目中使用过 codepotatoltd/digestif 或与其功能相近的方案,如果你在选型或落地过程中遇到问题,例如 版本兼容、二次改造、私有化封装、与内部系统对接、生产 BUG 排查,欢迎联系我们协助评估。
基于 codepotatoltd/digestif 在你已有业务上做功能扩展、字段裁剪、UI 适配、与内部账号 / 权限 / 日志系统的深度对接。
线上偶发问题、内存泄漏、慢查询、并发异常等排查修复;针对高流量场景做缓存、队列、索引层面的调优。
承接完整的项目从需求 → 设计 → 开发 → 上线 → 长期运维;也可按月提供技术保姆服务。
统计信息
- 总下载量: 258
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 13
- 点击次数: 8
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2020-10-05