https://github.com/codezero-be/laravel-flash
⭐️ Flash Notifications for Laravel
https://github.com/codezero-be/laravel-flash
flash form laravel message notification php session
Last synced: 9 months ago
JSON representation
⭐️ Flash Notifications for Laravel
- Host: GitHub
- URL: https://github.com/codezero-be/laravel-flash
- Owner: codezero-be
- License: mit
- Created: 2015-05-14T23:24:13.000Z (over 10 years ago)
- Default Branch: master
- Last Pushed: 2024-03-12T15:21:15.000Z (almost 2 years ago)
- Last Synced: 2025-03-25T21:47:11.687Z (10 months ago)
- Topics: flash, form, laravel, message, notification, php, session
- Language: PHP
- Homepage:
- Size: 66.4 KB
- Stars: 3
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
- License: LICENSE.md
- Security: .github/SECURITY.md
Awesome Lists containing this project
README
# Flash Notifications for Laravel
[](https://github.com/codezero-be/laravel-flash/releases)
[](https://laravel.com)
[](LICENSE.md)
[](https://github.com/codezero-be/laravel-flash/actions)
[](https://app.codacy.com/gh/codezero-be/laravel-flash)
[](https://app.codacy.com/gh/codezero-be/laravel-flash)
[](https://packagist.org/packages/codezero/laravel-flash)
[](https://ko-fi.com/R6R3UQ8V)
#### Flash messages to the session with [Laravel](http://laravel.com/).
## 🧩 Features
- Flash multiple messages.
- Use built in notification levels (success, error, ...) or imagine your own.
## ✅ Requirements
- PHP >= 8.1
- Laravel >= 10.0
## 📦 Install
```bash
composer require codezero/laravel-flash
```
> Laravel will automatically register the ServiceProvider.
## 🛠 Usage
Somewhere in your views, include the flash notifications partial:
```blade
@include('flash::notifications')
```
Then you can flash a message to the session in your controllers.
```php
flash()->success('Update succeeded!');
```
> You can also use the facade `\CodeZero\Flash\Facades\Flash` instead of the `flash()` helper.
The message will be displayed once on the next page load.
## 🚨 Notification Levels
You can use the built in notification levels:
```php
flash()->info('info message');
flash()->success('success message');
flash()->warning('warning message');
flash()->error('error message');
```
Or you can specify a custom level:
```php
flash()->notification('message', 'level');
```
## 🔖 Rendering Notifications
### Customize the notification views
If you want to customize the templates, you can publish the views:
```bash
php artisan vendor:publish --provider="CodeZero\Flash\FlashServiceProvider" --tag="views"
```
You will find the views in `resources/views/vendor/flash`.
### Default views for built in notification levels
A notification will be rendered using a view file which name corresponds with the notification level.
So `flash()->success('message')` will load a `success.blade.php` view file.
These views live in `resources/views/vendor/flash/notifications`.
### Default view for custom notification levels
If no corresponding file can be found in the package's view folder, then the `default.blade.php` view file will be used.
So `flash()->notification('message', 'custom')` will load the `default.blade.php` view file.
This view lives in `resources/views/vendor/flash/notifications`.
### Add views for custom notification levels
To add view files for custom levels, create them in `resources/views/vendor/flash/notifications`.
### Override default notification views
You can override the view file to be used when you flash a notification:
```php
// use 'resources/views/custom.blade.php' instead of
// 'resources/views/vendor/flash/notifications/success.blade.php'
flash()->success('message')->setView('custom');
```
The specified view name is relative to your app's view folder `resources/views`.
### Access notification values in a view
Notification views will have a `$notification` variable which is an instance of `\CodeZero\Flash\Notification`.
This gives you access to:
```blade
{{ $notification->message }}
{{ $notification->level }}
```
## 🔧 Create Your Own Custom Flash Class
If you don't want to use the built in notification levels and want to create your own, you can extend the `\CodeZero\Flash\BaseFlash` class.
```php
notification($message, 'danger');
}
}
```
Then change the `flash` binding in the `register` method of your `app/Providers/AppServiceProvider`:
```php
public function register()
{
$this->app->bind('flash', \App\YourCustomFlash::class);
}
```
## ⚙️ Publish Configuration File
```bash
php artisan vendor:publish --provider="CodeZero\Flash\FlashServiceProvider" --tag="config"
```
You will now find a `flash.php` file in the `config` folder.
## 🚧 Testing
```bash
composer test
```
## ☕️ Credits
- [Ivan Vermeyen](https://byterider.io)
- [All contributors](../../contributors)
## 🔓 Security
If you discover any security related issues, please [e-mail me](mailto:ivan@codezero.be) instead of using the issue tracker.
## 📑 Changelog
A complete list of all notable changes to this package can be found on the
[releases page](https://github.com/codezero-be/laravel-flash/releases).
## 📜 License
The MIT License (MIT). Please see [License File](LICENSE.md) for more information.