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"
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
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
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();