定制 nanorocks/laravel-database-newsletter 二次开发

按需修改功能、优化性能、对接业务系统,提供一站式技术支持

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

nanorocks/laravel-database-newsletter

最新稳定版本:v1.0.0

Composer 安装命令:

composer require nanorocks/laravel-database-newsletter

包简介

Laravel Newsletter package with built-in database driver support

README 文档

README

Laravel Database Newsletter

Laravel PHP License Latest Stable Version

Laravel Database Newsletter is a simple and elegant package for managing newsletter subscribers directly in your database.
Instead of relying on third-party services, it allows you to store, check, and manage subscribers locally inside your Laravel application.

✨ Features

  • 📦 Installable via Composer
  • 🗄️ Store subscribers in your own database (MySQL, PostgreSQL, SQLite…)
  • 🔐 Supports additional attributes (name, preferences, etc.)
  • 📋 Easy subscription management (subscribe, unsubscribe, isSubscribed)
  • 🔧 Configuration via .env and config/newsletter.php
  • 🧪 Includes tests for stability and reliability

🚀 Installation

Require the package via Composer:

composer require nanorocks/laravel-database-newsletter

Publish migrations and configuration:

php artisan vendor:publish --tag="newsletter-migrations"
php artisan vendor:publish --tag="newsletter-config"
php artisan migrate

⚙️ Configuration

Set the driver in your .env file:

NEWSLETTER_DRIVER=database

The configuration file config/newsletter.php can be customized to your needs.

📚 Usage

Use the Newsletter Facade to manage subscribers:

use Nanorocks\DatabaseNewsletter\Facades\Newsletter;

Route::get('/test-newsletter', function () {
    $email = 'john@example.com';

    // Subscribe a user
    Newsletter::subscribe($email, ['name' => 'John']);

    // Update a subscriber (alias of subscribe)
    Newsletter::subscribeOrUpdate($email, ['name' => 'John Doe']);

    // Check if a user is subscribed
    $isSubscribed = Newsletter::isSubscribed($email);

    // Get subscriber details
    $member = Newsletter::getMember($email);

    // Get all members
    $allMembers = Newsletter::getAllMembers();

    // Unsubscribe a user
    Newsletter::unsubscribe($email);

    // Delete a subscriber
    Newsletter::delete($email);

    return [
        'is_subscribed' => $isSubscribed,
        'member' => $member,
        'all_members' => $allMembers,
        'is_subscribed_after_unsubscribe' => Newsletter::isSubscribed($email),
    ];
});

🛠 Supported Versions

  • PHP: ^8.3

  • Laravel: 10.x, 11.x, 12.x

📖 Roadmap

  • ✅ Database driver
  • ⏳ Artisan commands for subscriber management
  • ⏳ Laravel Notifications integration
  • ⏳ Multi-list support

🤝 Contributing

Contributions are welcome! Feel free to submit a pull request or open an issue if you have ideas or find a bug.

📜 License

This package is released under the MIT License.

统计信息

  • 总下载量: 14
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 3
  • 点击次数: 1
  • 依赖项目数: 0
  • 推荐数: 0

GitHub 信息

  • Stars: 2
  • Watchers: 0
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2025-08-27