Messages Component for Laravel and Orchestra Platform
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
src
tests
.coveralls.yml
.gitattributes
.gitignore
.php_cs
.scrutinizer.yml
.travis.yml
CHANGELOG.md
LICENSE
README.md
composer.json
phpunit.xml

README.md

Messages Component for Laravel and Orchestra Platform

Messages Component bring a unified notification support for Laravel and Orchestra Platform.

Build Status Latest Stable Version Total Downloads Latest Unstable Version License Coverage Status

Table of Content

Version Compatibility

Laravel Messages
4.2.x 2.2.x
5.0.x 3.0.x
5.1.x 3.1.x
5.2.x 3.2.x
5.3.x 3.3.x
5.4.x 3.4.x
5.5.x 3.5.x
5.6.x 3.6.x
5.7.x 3.7.x

Installation

To install through composer, simply put the following in your composer.json file:

{
    "require": {
        "orchestra/messages": "^3.0"
    }
}

And then run composer install from the terminal.

Quick Installation

Above installation can also be simplify by using the following command:

composer require "orchestra/messages=^3.0"

Configuration

Add Orchestra\Messages\MessagesServiceProvider service provider in config/app.php.

'providers' => [

    // ...

    Orchestra\Messages\MessagesServiceProvider::class,
],

Aliases

You might want to add Orchestra\Support\Facades\Messages to class aliases in config/app.php:

'aliases' => [

    // ...

    'Messages' => Orchestra\Support\Facades\Messages::class,
],

Usage

Adding a Message

Adding a message is as easy as following:

Messages::add('success', 'A successful message');

You can also chain messages:

Messages::add('success', 'A successful message')
    ->add('error', 'Some error');

Extending a Message to Current Request

There might be situation where you need to extend a message to the current response instead of the following request. You can do this with:

Messages::extend(function ($message) {
    $message->add('info', 'Read-only mode');
});

Displaying the Message in a View

Here's an example how you can display the message:

<?php

$message = Messages::retrieve();

if ($message instanceof Orchestra\Messages\MessageBag) {
    $message->setFormat('<div class="alert alert-:key">:message</div>');

    foreach (['error', 'info', 'success'] as $key) {
        if ($message->has($key)) {
            echo implode('', $message->get($key));
        }
    }
}