PHPackages                             eru/sweet-alert - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. eru/sweet-alert

ActiveLibrary[Utility &amp; Helpers](/categories/utility)

eru/sweet-alert
===============

A simple PHP package to show Sweet Alerts with the Laravel Framework that supports

3.0.1(4y ago)110MITPHPPHP &gt;=8.0

Since Jul 11Pushed 4y agoCompare

[ Source](https://github.com/Erfan98/sweet-alert)[ Packagist](https://packagist.org/packages/eru/sweet-alert)[ RSS](/packages/eru-sweet-alert/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (2)Dependencies (5)Versions (37)Used By (0)

Easy Sweet Alert Messages for Laravel
=====================================

[](#easy-sweet-alert-messages-for-laravel)

[![A success alert](demos/1XySJiz.png)](demos/1XySJiz.png)

[![Latest Version](https://camo.githubusercontent.com/7b3860855fd2b59e96f3c5de1a9479875c3d32db53ce8f011da24eaf41e936aa/68747470733a2f2f696d672e736869656c64732e696f2f6769746875622f72656c656173652f6572752f73776565742d616c6572742e7376673f7374796c653d666c61742d737175617265)](https://github.com/eru/sweet-alert/releases)[![StyleCI](https://camo.githubusercontent.com/5e66d4b1340b03c2d7df6c41cd52daca88524106073c2d1d9978c9afd904ae13/68747470733a2f2f7374796c6563692e696f2f7265706f732f33383933353934322f736869656c64)](https://styleci.io/repos/38935942)[![Total Downloads](https://camo.githubusercontent.com/f8a93c66a6fa070efc2c6cf4f50412e63045f2879ccc268c42fbbeb6749d50b9/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f6572752f73776565742d616c6572742e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/eru/sweet-alert)

Installation
------------

[](#installation)

Require the package using Composer.

```
composer require eru/sweet-alert
```

If using laravel &lt; 5.5 include the service provider and alias within `config/app.php`.

```
'providers' => [
    eru\SweetAlert\SweetAlertServiceProvider::class,
];

'aliases' => [
    'Alert' => eru\SweetAlert\SweetAlert::class,
];
```

Installing Frontend Dependency
------------------------------

[](#installing-frontend-dependency)

This package works only by using the [BEAUTIFUL REPLACEMENT FOR JAVASCRIPT'S "ALERT"](https://sweetalert.js.org/).

### Using a CDN

[](#using-a-cdn)

```
>

    @include('sweet::alert')

```

### Using Laravel Mix

[](#using-laravel-mix)

Install using Yarn

```
yarn add sweetalert --dev
```

Install using NPM

```
npm install sweetalert --save-dev
```

Require sweetalert within your `resources/js/bootstrap.js` file.

```
// ...

require("sweetalert");

// ...
```

Then make sure to include your scripts in your blade layout. Remove the `defer` attribute if your script tag contains it, `defer` will delay the execution of the script which will cause an error as the `sweet::alert` blade template is rendered first by the browser as html.

```
>

    @include('sweet::alert')

```

Finally compile your assets with Mix

```
npm run dev
```

Usage
-----

[](#usage)

### Using the Facade

[](#using-the-facade)

First import the SweetAlert facade in your controller.

```
use SweetAlert;
```

Within your controllers, before you perform a redirect...

```
public function store()
{
    SweetAlert::message('Robots are working!');

    return Redirect::home();
}
```

Here are some examples on how you can use the facade:

```
SweetAlert::message('Message', 'Optional Title');

SweetAlert::basic('Basic Message', 'Mandatory Title');

SweetAlert::info('Info Message', 'Optional Title');

SweetAlert::success('Success Message', 'Optional Title');

SweetAlert::error('Error Message', 'Optional Title');

SweetAlert::warning('Warning Message', 'Optional Title');
```

### Using the helper function

[](#using-the-helper-function)

`alert($message = null, $title = '')`

In addition to the previous listed methods you can also just use the helper function without specifying any message type. Doing so is similar to:

`alert()->message('Message', 'Optional Title')`

Like with the Facade we can use the helper with the same methods:

```
alert()->message('Message', 'Optional Title');

alert()->basic('Basic Message', 'Mandatory Title');

alert()->info('Info Message', 'Optional Title');

alert()->success('Success Message', 'Optional Title');

alert()->error('Error Message', 'Optional Title');

alert()->warning('Warning Message', 'Optional Title');

alert()->basic('Basic Message', 'Mandatory Title')->autoclose(3500);

alert()->error('Error Message', 'Optional Title')->persistent('Close');
```

Within your controllers, before you perform a redirect...

```
/**
 * Destroy the user's session (logout).
 *
 * @return Response
 */
public function destroy()
{
    Auth::logout();

    alert()->success('You have been logged out.', 'Good bye!');

    return home();
}
```

For a general information alert, just do: `alert('Some message');` (same as `alert()->message('Some message');`).

### Using the Middleware

[](#using-the-middleware)

#### Middleware Groups

[](#middleware-groups)

First register the middleware in web middleware groups by simply adding the middleware class `eru\SweetAlert\ConvertMessagesIntoSweetAlert::class` into the $middlewareGroups of your app/Http/Kernel.php class:

```
protected $middlewareGroups = [
    'web' => [
        \App\Http\Middleware\EncryptCookies::class,
        ...
        \eru\SweetAlert\ConvertMessagesIntoSweetAlert::class,
    ],

    'api' => [
        'throttle:60,1',
    ],
];
```

> Make sure you register the middleware within the 'web' group only.

#### Route Middleware

[](#route-middleware)

Or if you would like to assign the middleware to specific routes only, you should add the middleware to `$routeMiddleware` in `app/Http/Kernel.php` file:

```
protected $routeMiddleware = [
    'auth' => \App\Http\Middleware\Authenticate::class,
    ....
    'sweetalert' => \eru\SweetAlert\ConvertMessagesIntoSweetAlert::class,
];
```

Next step: within your controllers, set your return message (using `with()`) and send the proper message and proper type.

```
return redirect('dashboard')->with('success', 'Profile updated!');
```

or

```
return redirect()->back()->with('error', 'Profile updated!');
```

> **NOTE**: When using the middleware it will make an alert to display if it detects any of the following keys flashed into the session: `error`, `success`, `warning`, `info`, `message`, `basic`.

### Final Considerations

[](#final-considerations)

By default, all alerts will dismiss after a sensible default number of seconds.

But not to worry, if you need to specify a different time you can:

```
// -> Remember!, the number is set in milliseconds
alert('Hello World!')->autoclose(3000);
```

Also, if you need the alert to be persistent on the page until the user dismiss it by pressing the alert confirmation button:

```
// -> The text will appear in the button
alert('Hello World!')->persistent("Close this");
```

You can render html in your message with the html() method like this:

```
// -> html will be evaluated
alert('Click me')->html()->persistent("No, thanks");
```

Customize
---------

[](#customize)

### Config

[](#config)

If you need to customize the default configuration options for this package just export the configuration file:

```
php artisan vendor:publish --provider "eru\SweetAlert\SweetAlertServiceProvider" --tag=config
```

A `sweet-alert.php` configuration file will be published to your `config` directory. By now, the only configuration that can be changed is the timer for all autoclose alerts.

### View

[](#view)

If you need to customize the included alert message view, run:

```
php artisan vendor:publish --provider "eru\SweetAlert\SweetAlertServiceProvider" --tag=views
```

The package view is located in the `resources/views/vendor/sweet/` directory.

You can customize this view to fit your needs.

#### Configuration Options

[](#configuration-options)

You have access to the following configuration options to build a custom view:

```
Session::get('sweet_alert.text')
Session::get('sweet_alert.title')
Session::get('sweet_alert.icon')
Session::get('sweet_alert.closeOnClickOutside')
Session::get('sweet_alert.buttons')
Session::get('sweet_alert.timer')
```

Please check the CONFIGURATION section in the [website](https://sweetalert.js.org/docs/#configuration) for all other options available.

### Default View

[](#default-view)

The `sweet_alert.alert` session key contains a JSON configuration object to pass it directly to Sweet Alert.

```
@if (Session::has('sweet_alert.alert'))

  swal({!! Session::get('sweet_alert.alert') !!});

@endif
```

Note that `{!! !!}` are used to output the json configuration object unescaped, it will not work with `{{ }}` escaped output tags.

### Custom View

[](#custom-view)

This is an example of how you can customize your view to fit your needs:

```
@if (Session::has('sweet_alert.alert'))

  swal({
      text: "{!! Session::get('sweet_alert.text') !!}",
      title: "{!! Session::get('sweet_alert.title') !!}",
      timer: {!! Session::get('sweet_alert.timer') !!},
      icon: "{!! Session::get('sweet_alert.type') !!}",
      buttons: "{!! Session::get('sweet_alert.buttons') !!}",

      // more options
  });

@endif
```

Note that you must use `""` (double quotes) to wrap the values except for the timer option.

Tests
-----

[](#tests)

To run the included test suite:

```
vendor/bin/phpunit
```

Demo
----

[](#demo)

```
SweetAlert::message('Welcome back!');

return Redirect::home();
```

[![A simple alert](demos/4bvuJx9.png)](demos/4bvuJx9.png)

```
SweetAlert::message('Your profile is up to date', 'Wonderful!');

return Redirect::home();
```

[![A simple alert with title](demos/GsGOtOq.png)](demos/GsGOtOq.png)

```
SweetAlert::message('Thanks for comment!')->persistent('Close');

return Redirect::home();
```

[![A simple alert with title and button](demos/AnRGDY2.png)](demos/AnRGDY2.png)

```
SweetAlert::info('Email was sent!');

return Redirect::home();
```

[![A info alert](demos/DxKh3Yx.png)](demos/DxKh3Yx.png)

```
SweetAlert::error('Something went wrong', 'Oops!');

return Redirect::home();
```

[![A error alert](demos/pIeTEYz.png)](demos/pIeTEYz.png)

```
SweetAlert::success('Good job!');

return Redirect::home();
```

[![A success alert](demos/pQz3ijJ.png)](demos/pQz3ijJ.png)

```
SweetAlert::info('Random lorempixel.com : ')->html();

return Redirect::home();
```

[![HTML in message](demos/x44c12a.png)](demos/x44c12a.png)

```
SweetAlert::success('Good job!')->persistent("Close");

return Redirect::home();
```

[![A persistent alert](demos/dj3y95K.png)](demos/dj3y95K.png)

License
-------

[](#license)

Sweet Alert for Laravel is open-sourced software licensed under the [MIT license](LICENSE).

###  Health Score

34

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity7

Limited adoption so far

Community18

Small or concentrated contributor base

Maturity80

Battle-tested with a long release history

 Bus Factor1

Top contributor holds 67% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~88 days

Recently: every ~209 days

Total

29

Last Release

1493d ago

Major Versions

1.4.3 → v2.x-dev2018-07-24

2.0.5 → 3.0.02022-04-07

PHP version history (3 changes)1.0.0PHP &gt;=5.4.0

v2.x-devPHP &gt;=7.0

3.0.1PHP &gt;=8.0

### Community

Maintainers

![](https://www.gravatar.com/avatar/e45c40db384ce48b54e8a4a1ee2fd115cece0491d2276d8d93367148c796a6e7?d=identicon)[erfan](/maintainers/erfan)

---

Top Contributors

[![uxweb](https://avatars.githubusercontent.com/u/5134732?v=4)](https://github.com/uxweb "uxweb (120 commits)")[![uziel-bueno](https://avatars.githubusercontent.com/u/77310379?v=4)](https://github.com/uziel-bueno "uziel-bueno (17 commits)")[![jrean](https://avatars.githubusercontent.com/u/5646128?v=4)](https://github.com/jrean "jrean (8 commits)")[![imerfanahmed](https://avatars.githubusercontent.com/u/28698119?v=4)](https://github.com/imerfanahmed "imerfanahmed (5 commits)")[![KhaledSMQ](https://avatars.githubusercontent.com/u/8835798?v=4)](https://github.com/KhaledSMQ "KhaledSMQ (4 commits)")[![vrajroham](https://avatars.githubusercontent.com/u/12662173?v=4)](https://github.com/vrajroham "vrajroham (2 commits)")[![bumbummen99](https://avatars.githubusercontent.com/u/4533331?v=4)](https://github.com/bumbummen99 "bumbummen99 (2 commits)")[![JoeriAben](https://avatars.githubusercontent.com/u/4263996?v=4)](https://github.com/JoeriAben "JoeriAben (2 commits)")[![georgeboot](https://avatars.githubusercontent.com/u/884482?v=4)](https://github.com/georgeboot "georgeboot (2 commits)")[![meijdenmedia](https://avatars.githubusercontent.com/u/15846780?v=4)](https://github.com/meijdenmedia "meijdenmedia (1 commits)")[![mmonbr](https://avatars.githubusercontent.com/u/3525566?v=4)](https://github.com/mmonbr "mmonbr (1 commits)")[![nelson6e65](https://avatars.githubusercontent.com/u/9272498?v=4)](https://github.com/nelson6e65 "nelson6e65 (1 commits)")[![ronydebnath](https://avatars.githubusercontent.com/u/10370201?v=4)](https://github.com/ronydebnath "ronydebnath (1 commits)")[![ssfinney](https://avatars.githubusercontent.com/u/1596394?v=4)](https://github.com/ssfinney "ssfinney (1 commits)")[![thewebartisan7](https://avatars.githubusercontent.com/u/57477934?v=4)](https://github.com/thewebartisan7 "thewebartisan7 (1 commits)")[![tomopongrac](https://avatars.githubusercontent.com/u/25442485?v=4)](https://github.com/tomopongrac "tomopongrac (1 commits)")[![TortleWortle](https://avatars.githubusercontent.com/u/1979893?v=4)](https://github.com/TortleWortle "TortleWortle (1 commits)")[![lasseeee](https://avatars.githubusercontent.com/u/1869424?v=4)](https://github.com/lasseeee "lasseeee (1 commits)")[![backstageel](https://avatars.githubusercontent.com/u/1692858?v=4)](https://github.com/backstageel "backstageel (1 commits)")[![blpraveen](https://avatars.githubusercontent.com/u/3274289?v=4)](https://github.com/blpraveen "blpraveen (1 commits)")

---

Tags

laravelnotifieralertsweeteru

###  Code Quality

TestsPHPUnit

Code StylePHP CS Fixer

### Embed Badge

![Health badge](/badges/eru-sweet-alert/health.svg)

```
[![Health](https://phpackages.com/badges/eru-sweet-alert/health.svg)](https://phpackages.com/packages/eru-sweet-alert)
```

###  Alternatives

[uxweb/sweet-alert

A simple PHP package to show Sweet Alerts with the Laravel Framework

8251.3M6](/packages/uxweb-sweet-alert)[realrashid/sweet-alert

Laravel Sweet Alert Is A Package For Laravel Provides An Easy Way To Display Alert Messages Using The SweetAlert2 Library.

1.2k2.9M21](/packages/realrashid-sweet-alert)[prologue/alerts

Prologue Alerts is a package that handles global site messages.

3486.1M30](/packages/prologue-alerts)[masmerise/livewire-toaster

Beautiful toast notifications for Laravel / Livewire.

505550.3k6](/packages/masmerise-livewire-toaster)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
