Skip to content

codezero-be/laravel-flash

Repository files navigation

Flash Notifications for Laravel

GitHub release Laravel License Build Status Code Coverage Code Quality Total Downloads

ko-fi

Flash messages to the session with Laravel.

🧩 Features

  • Flash multiple messages.
  • Use built in notification levels (success, error, ...) or imagine your own.

✅ Requirements

  • PHP >= 8.1
  • Laravel >= 10.0

📦 Install

composer require codezero/laravel-flash

Laravel will automatically register the ServiceProvider.

🛠 Usage

Somewhere in your views, include the flash notifications partial:

@include('flash::notifications')

Then you can flash a message to the session in your controllers.

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:

flash()->info('info message');
flash()->success('success message');
flash()->warning('warning message');
flash()->error('error message');

Or you can specify a custom level:

flash()->notification('message', 'level');

🔖 Rendering Notifications

Customize the notification views

If you want to customize the templates, you can publish the views:

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:

// 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:

{{ $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

namespace App;

use CodeZero\Flash\BaseFlash;

class YourCustomFlash extends BaseFlash
{
    /**
     * Flash a notification.
     *
     * @param string $message
     *
     * @return \CodeZero\Flash\Notification
     */
    public function danger($message)
    {
        return $this->notification($message, 'danger');
    }
}

Then change the flash binding in the register method of your app/Providers/AppServiceProvider:

public function register()
{
    $this->app->bind('flash', \App\YourCustomFlash::class);
}

⚙️ Publish Configuration File

php artisan vendor:publish --provider="CodeZero\Flash\FlashServiceProvider" --tag="config"

You will now find a flash.php file in the config folder.

🚧 Testing

composer test

☕️ Credits

🔓 Security

If you discover any security related issues, please e-mail me instead of using the issue tracker.

📑 Changelog

A complete list of all notable changes to this package can be found on the releases page.

📜 License

The MIT License (MIT). Please see License File for more information.

About

⭐️ Flash Notifications for Laravel

Topics

Resources

License

Security policy

Stars

Watchers

Forks

Sponsor this project

Packages

No packages published
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy