orchestral / messages by crynobone

Messages Component for Laravel and Orchestra Platform
89,038
3
3
Package Data
Maintainer Username: crynobone
Maintainer Contact: crynobone@gmail.com (Mior Muhammad Zaki)
Package Create Date: 2014-07-21
Package Last Update: 2021-04-17
Home Page:
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 03:02:59
Package Statistics
Total Downloads: 89,038
Monthly Downloads: 187
Daily Downloads: 23
Total Stars: 3
Total Watchers: 3
Total Forks: 0
Total Open Issues: 0

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 :----------|:---------- 5.5.x | 3.5.x 5.6.x | 3.6.x 5.7.x | 3.7.x 5.8.x | 3.8.x

Installation

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

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

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.5"

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));
        }
    }
}