illizian/notifications

There is no license information available for the latest version (dev-master) of this package.

A Laravel 4 package that provides Facebook style notifications

dev-master 2015-07-27 22:20 UTC

This package is auto-updated.

Last update: 2024-04-21 15:31:28 UTC


README

A basic Laravel package that provides Facebook style notifications. Notifications are assigned to your own User model and are automatically marked as read when that User visits the URL associated with the notification.

Installation

  1. Add to your composer.json $ composer require illizian/notifications
  2. Add the Service Provider to your config/app.php file
'providers' => array(
    // [...]
    'Illizian\Notifications\NotificationsServiceProvider'
)
  1. Update your User model
use Illizian\Notifications\Traits\NotificationableTrait;

class User extends Eloquent
{

    use NotificationableTrait;

    // [...]

}

This package assumes your User model's classname is "User" - see Configuration on how to override this

  1. Run the package migration $ php artisan migrate --package="illizian/notifications"

Usage

The main Class for this package will be automatically aliased to 'Notify' for you, you can then use the class in your controllers to trigger notifications for a User:

$to = User::find(1);
$from = User::find(2);
$msg = 'User 2 has sent you a message';
$url = '/inbox/message'; // This should be a relative URL

Notify::send($to, $from, $msg, $url);

Then you can get the User's notifications from their model:

$notifications = User::find(1)->notifications;

When the User visits /inbox/message the package will detect this and mark the notification as read, alternatively you can manually mark the notification read by providing the notification's ID to the read function:

Notify::read(1)

Routes & Views

The package contains some basic routes & views to get you started. The following routes are available:

Path Description
/notifications/mark_as_read/{id} Mark the notification {id} as read
/notifications/api/all Get all User's notifications as JSON
/notifications/api/unread Get all User's unread notifications as JSON
the prefix can be changed - see Configuration

Configuration

The package contains a basic configuration file. You can import the configuration by running:

$ php artisan config:publish illizian\notifications