Messages Component bring a unified notification support for Laravel and Orchestra Platform.
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 |
6.x | 4.x |
7.x | 5.x |
8.x | 6.x |
To install through composer, run the following command from terminal:
composer require "orchestra/messages"
Add Orchestra\Messages\MessagesServiceProvider
service provider in config/app.php
.
'providers' => [
// ...
Orchestra\Messages\MessagesServiceProvider::class,
],
You might want to add Orchestra\messages\Facades\Messages
to class aliases in config/app.php
:
'aliases' => [
// ...
'Messages' => Orchestra\Support\Facades\Messages::class,
],
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');
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');
});
Here's an example how you can display the message:
<?php
$message = Messages::copy();
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));
}
}
}