Messages Component
Messages Component bring a unified notification support for Laravel and Orchestra Platform.
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 | [email protected] |
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));
}
}
}