Download the PHP package ylsideas/subscribable-notifications without Composer

On this page you can find all versions of the php package ylsideas/subscribable-notifications. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.

FAQ

After the download, you have to make one include require_once('vendor/autoload.php');. After that you have to import the classes with use statements.

Example:
If you use only one package a project is not needed. But if you use more then one package, without a project it is not possible to import the classes with use statements.

In general, it is recommended to use always a project to download your libraries. In an application normally there is more than one library needed.
Some PHP packages are not free to download and because of that hosted in private repositories. In this case some credentials are needed to access such packages. Please use the auth.json textarea to insert credentials, if a package is coming from a private repository. You can look here for more information.

  • Some hosting areas are not accessible by a terminal or SSH. Then it is not possible to use Composer.
  • To use Composer is sometimes complicated. Especially for beginners.
  • Composer needs much resources. Sometimes they are not available on a simple webspace.
  • If you are using private repositories you don't need to share your credentials. You can set up everything on our site and then you provide a simple download link to your team member.
  • Simplify your Composer build process. Use our own command line tool to download the vendor folder as binary. This makes your build process faster and you don't need to expose your credentials for private repositories.
Please rate this library. Is it a good library?

Informations about the package subscribable-notifications

Subscribable Notifications for Laravel

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

This package has been designed to help you handle email unsubscribes with as little as 5 minutes setup. After installing your notifications sent over email should now be delivered with unsubscribe links in the footer and as a mail header which email clients can present to the user for quicker unsubscribing. It can also handle resolving the unsubscribing of the user through a signed route/controller.

Installation

You can install the package via composer:

Optionally to make use of the built in unsubscribing handler you can publish the application service provider. If you wish to implement your own unsubscribing process and only insert unsubscribe links into your notifications, you can forgo doing this.

This will create a \App\Providers\SubscriberServiceProvider class which you will need to register in config/app.php.

After this you can configure your unsubscribe handlers quickly as methods within the service provider that return the closures.

The package itself does not determine how you store or evaluate your users' subscribed state. Instead it provides hooks in which to handle that.

Usage

First off you must implement the YlsIdeas\SubscribableNotifications\Contracts\CanUnsubscribe interface on your notifiable User model. You can also apply the YlsIdeas\SubscribableNotifications\MailSubscriber trait which will implement this for you to automatically provide signed urls for the unsubscribe controller provided by this library.

Implementing your own unsubscribe links

If you wish to implement your own completely different unsubscribeLink() method you can.

Implementing notifications as part of a mailing list

If you wish to apply specific mailing lists to notifications you need to implement the YlsIdeas\SubscribableNotifications\Contracts\AppliesToMailingList on those notifications. This will put two unsubscribe links into your emails generated from those notifications. One for all emails and one for only that type of email.

Using the full unsubscribing workflow

Using the App\Providers\SubscriberServiceProvider you can set up simple hooks to handle unsubscribing the user from all future emails. This package doesn't determine how you should store that record of opting out of future emails. Instead you provide functions in the provider which will be called. The following are just examples of what you can do.

Implementing an unsubscribe hook for a specific mailing list

This handler will be called if a user links a link through to unsubscribe for a specific mailing list.

Implementing an unsubscribe hook for all emails

This handler will be called if the user has clicked through to the link to unsubscribe from all future emails.

Implementing an unsubscribe response

The completion handler will be called after a user is unsubscribed, allowing you to customise where the user is redirected to or if you want to maybe show a further form even.

Dedicated handler

You may also provide a string in the format of class@method that the subscriber class will use to grab the class from the service container and then call the specified method on if you want to do something more custom.

Checking if a notification should be sent per the subscription

You can also add hooks to check if a user should receive notifications for a mailing list or for all mail notifications.

To do this you need to make sure your user has the YlsIdeas\SubscribableNotifications\Contracts\CheckSubscriptionStatusBeforeSendingNotifications interface implemented. The YlsIdeas\SubscribableNotifications\MailSubscriber trait will implement this for you to use the built in Subscriber handlers.

If you want to implement a method yourself to check the subscription you could also just implement the method yourself like in the example below.

Then you need to implement the YlsIdeas\SubscribableNotifications\Contracts\CheckNotifiableSubscriptionStatus interface on the notifications that should trigger a check of the subscription status of the user it's being sent to. Then you just need to return true if the subscription status should be checked.

To use the functionality you then need to add your own Subscription check hooks. These hooks can be implemented as you see fit.

Customising the email templates

Out of the box the emails generated use the same templates except that they inject a small bit of text into the footer of the emails. If you wish you customise the templates further you may publish the views.

This will create a resources/views/vendor/subscriber folder containing both html.blade.php and text.blade.php which can be customised. These will then be the defaults used by the notification mail channel.

Customising the User Model

If you are using a different User model than the one found in app/Models/User.php or app/Users.php for Laravel 7 and earlier you can change this by calling. It's suggested you do this in the boot method of the SubscriberServiceProvider.

Testing

Changelog

Please see CHANGELOG for more information what has changed recently.

Contributing

Please see CONTRIBUTING for details.

Security

If you discover any security related issues, please email [email protected] instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.

Laravel Package Boilerplate

This package was generated using the Laravel Package Boilerplate.


All versions of subscribable-notifications with dependencies

PHP Build Version
Package Version
Requires php Version ^8.2
illuminate/contracts Version 11.*|10.*
Composer command for our command line client (download client) This client runs in each environment. You don't need a specific PHP version etc. The first 20 API calls are free. Standard composer command

The package ylsideas/subscribable-notifications contains the following files

Loading the files please wait ....