szykra / notifications
Easy way to display Flash Notifications in Laravel 5.
Requires
- php: >=5.4.0
- illuminate/contracts: ~5.0
- illuminate/session: ~5.0
- illuminate/support: ~5.0
Requires (Dev)
- phpspec/phpspec: ~2.0
Replaces
- szykra/notifications: 0.3.3
This package is not auto-updated.
Last update: 2020-05-07 07:51:19 UTC
README
Flash Notifications Helper for Laravel 5
Install
Install via composer
Add dependency to your composer.json
file and run composer update
.
require: {
"szykra/laravel-flash-notifications": "~0.3"
}
Configure Laravel
Add ServiceProvider and Alias (Facade) to your config/app.php
file:
'Szykra\Notifications\NotificationServiceProvider'
'Flash' => 'Szykra\Notifications\Flash'
Include default alert view to your layout
Package default provides bootstrap ready alert view. Just include notifications::flash
file to your main layout in blade:
@include('notifications::flash')
You can create own container for flash notifications with own custom styles. See Custom alert view section.
Usage
You can push flash message ever you need by facade Flash
. It provides 4 alert types:
- success
- error
- warning
- info
Flash::info('Your alert message here!');
Method push()
exists because you can push more than one alert at the same time. See below.
Every alert method takes 1 or 2 arguments. If you give one parameter it will be message. If you provide two parameters, first will be title and second will be message.
Flash::success('User has been updated successfully.'); Flash::error('Oh snap!', 'Something went wrong. Please try again for a few seconds.');
Custom alert view
Package default provides bootstrap ready view for alerts. You can define own style for it. Just create new blade template file!
@if(Session::has('flash.alerts')) @foreach(Session::get('flash.alerts') as $alert) <div class='alert alert-{{ $alert['level'] }}'> <button class="close" type="button" data-dismiss="alert" aria-hidden="true">×</button> @if( ! empty($alert['title'])) <div><strong>{{ $alert['title'] }}</strong></div> @endif {{ $alert['message'] }} </div> @endforeach @endif
All alerts will be in flash.alerts
session variable. Single alert looks like:
[ 'title' => 'Title', 'message' => 'Example message', 'level' => 'success' ]
Level for all alerts are following:
Flash::success
has level successFlash::error
has level dangerFlash::warning
has level warningFlash::info
has level info
License
The MIT License. Copyright (c) 2014 - 2015 Szymon Krajewski.