mydnic/laravel-subscribers

Easily Manage Internal Newsletter Subscribers in Laravel


Keywords
customer, laravel, feedback
License
MIT

Documentation

Manage Internal Newsletter Subscribers With Laravel

Latest Version on Packagist Software License Build Status Code Quality

Installation

You may use Composer to Install Laravel Subscribers:

composer require mydnic/laravel-subscribers

The package will automatically register itself

You then must publish the migration with:

php artisan vendor:publish --provider="Mydnic\Subscribers\SubscribersServiceProvider" --tag="subscribers-migrations"

Usage

In your view, you simply need to add a form that you can customize the way you want

<form action="{{ route('subscribers.store') }}" method="post">
    @csrf
    <input type="email" name="email">
    <input type="submit" value="submit">
</form>

@if (session('subscribed'))
    <div class="alert alert-success">
        {{ session('subscribed') }}
    </div>
@endif

Delete

Simply provide this link to your subscribers:

<a href="{{ route('subscribers.delete', ['email' => $subscriber->email]) }}">unsubscribe</a>

This will generate a link like /subscribers/delete?email=email@example.com

Subscribe manually from the user model

Alternatively, you can manage the subscription of a user from the user model.

In order to do that you will need to add the CanSubscribe trait

use Mydnic\Subscribers\Traits\CanSubscribe;

class User extends Model
{
    use CanSubscribe;
}
// subscribe user
$user->subscribe();

// unsubscribe user
$user->unsubscribe();