jalle19/laravel-unshitty-flash

Highly opinionated flash message service for Laravel
518 1
Install
composer require jalle19/laravel-unshitty-flash
Latest Version:2.1.0
PHP:>=8.0
License:MIT
Last Updated:May 19, 2026
Links: GitHub  ·  Packagist
Maintainer: Jalle19

laravel-unshitty-flash

CI Scrutinizer Code Quality Coverage Status

Highly opinionated flash message service for Laravel. In contrast to practically all other similar libraries I've seen, this one:

  • Supports multiple messages
  • Supports multiple identical messages
  • Supports flashing immediately, i.e. to the current request
  • Let's you configure the session key used
  • Forces you to inject the service, no magic facade
  • Forces you to operate on the Request object itself

Installation

Install the package:

composer require jalle19/laravel-unshitty-flash

Register the service provider:

'providers' => [
	...
	Jalle19\Laravel\UnshittyFlash\FlashServiceProvider::class,
	...
]

Publish the configuration file:

php artisan vendor:publish --provider="Jalle19\Laravel\UnshittyFlash\FlashServiceProvider"

Usage

Inject FlashService into the controller you want to create flash messages from, then use it like this:

$this->flashService->success($request, 'Some successful message');
$this->flashService->info($request, 'Some informational message');
$this->flashService->warning($request, 'Some warning');
$this->flashService->danger($request, 'Some dangerous message');

If you need to flash a message to the current request, (e.g. from a middleware that displays a permanent message), pass true as the third parameter:

$this->flashService->info($request, 'Permanently visible message', true);

If the message levels above are not enough for you, you can use an arbitrary level using the message() method:

$this->flashService->message($request, 'Some rant about libraries', 'rant');

To render the flash messages in your views, you can use something like the following snippet:

@foreach (session()->get(config('flash.session_key'), []) as $notification)
    <div class="alert alert-{{ $notification['level'] }} alert-dismissible in">
        <button type="button" class="close" data-dismiss="alert" aria-hidden="true">&times;</button>

        {!! $notification['message'] !!}
    </div>    
@endforeach

Related Packages

erirk/paypalpayment

laravel-paypalpayment is simple package help you process direct credit card paym...

0
gabrieloliverio/laravel5-generators

Database metadata-based generators for Laravel 5

1
doctrine/dbal

Powerful PHP database abstraction layer (DBAL) with many features for database s...

628,058,007 9,707
laravel/framework

The Laravel Framework.

572,249,171 34,893
laravel/tinker

Powerful REPL for the Laravel framework.

485,678,092 7,440