php-flasher/php-flasher
| Install | |
|---|---|
composer require php-flasher/php-flasher |
|
| Latest Version: | v2.5.2 |
| PHP: | >=8.2 |
| License: | MIT |
| Last Updated: | Apr 13, 2026 |
| Links: | GitHub · Packagist |
Quick Start
Laravel:
composer require php-flasher/flasher-laravel && php artisan flasher:install
Symfony:
composer require php-flasher/flasher-symfony && php bin/console flasher:install
That's it! Now use it:
flash()->success('Welcome aboard! Your account is ready.');
Why PHPFlasher?
| PHPFlasher | Others | |
|---|---|---|
| Zero JavaScript | Write PHP only, frontend handled automatically | Requires manual JS setup |
| Auto Asset Injection | CSS/JS injected automatically | Manual script tags needed |
| 17 Built-in Themes | Amazon, iOS, Slack, Material & more | Limited or no themes |
| 4 Notification Libraries | Toastr, SweetAlert, Noty, Notyf | Single library only |
| Livewire Integration | Full event system support | Limited or none |
| RTL Support | Built-in right-to-left | Often missing |
| Framework Agnostic | Laravel, Symfony, or vanilla PHP | Framework-specific |
Notification Types
flash()->success('Operation completed successfully!');
flash()->error('Oops! Something went wrong.');
flash()->warning('Please backup your data before continuing.');
flash()->info('A new version is available for download.');
With Titles
flash()->success('Your changes have been saved.', 'Update Complete');
flash()->error('Unable to connect to server.', 'Connection Failed');
With Options
flash()->success('Profile updated!', [
'position' => 'bottom-right',
'timeout' => 10000,
]);
17 Beautiful Themes
PHPFlasher includes 17 professionally designed themes ready to use:
flash()->success('Welcome!', ['theme' => 'amazon']);
flash()->success('Welcome!', ['theme' => 'ios']);
flash()->success('Welcome!', ['theme' => 'slack']);
flash()->success('Welcome!', ['theme' => 'material']);
| Theme | Style |
|---|---|
flasher |
Default clean design |
amazon |
Amazon-inspired e-commerce |
ios |
Apple iOS notifications |
slack |
Slack messaging style |
material |
Google Material Design |
google |
Google notifications |
facebook |
Facebook style |
minimal |
Ultra-clean minimal |
amber |
Warm amber tones |
aurora |
Gradient effects |
crystal |
Transparent design |
emerald |
Modern green palette |
jade |
Soft jade colors |
neon |
Bright attention-grabbing |
onyx |
Dark mode sleek |
ruby |
Bold ruby accents |
sapphire |
Elegant blue style |
See all themes with live demos →
Notification Libraries
Need more features? Use popular notification libraries:
Toastr
composer require php-flasher/flasher-toastr-laravel
toastr()->success('Profile saved!', [
'positionClass' => 'toast-bottom-right',
'progressBar' => true,
]);
SweetAlert
composer require php-flasher/flasher-sweetalert-laravel
sweetalert()
->showDenyButton()
->showCancelButton()
->warning('Do you want to save changes?');
Noty
composer require php-flasher/flasher-noty-laravel
noty()->success('Data synchronized!', [
'layout' => 'topCenter',
'timeout' => 3000,
]);
Notyf
composer require php-flasher/flasher-notyf-laravel
notyf()->success('Upload complete!', [
'dismissible' => true,
'ripple' => true,
]);
Livewire Integration
PHPFlasher integrates seamlessly with Laravel Livewire:
use Livewire\Attributes\On;
class UserProfile extends Component
{
public function save()
{
// Save logic...
sweetalert()
->showDenyButton()
->success('Save changes?');
}
#[On('sweetalert:confirmed')]
public function onConfirmed(array $payload): void
{
// User clicked confirm
$this->user->save();
flash()->success('Profile saved!');
}
#[On('sweetalert:denied')]
public function onDenied(array $payload): void
{
// User clicked deny
}
}
Configuration
Laravel
// config/flasher.php
return [
'default' => 'flasher',
'themes' => [
'flasher' => [
'options' => [
'timeout' => 5000,
'position' => 'top-right',
],
],
],
];
Symfony
# config/packages/flasher.yaml
flasher:
default: flasher
themes:
flasher:
options:
timeout: 5000
position: top-right
Common Options
| Option | Type | Default | Description |
|---|---|---|---|
timeout |
int | 5000 |
Auto-dismiss delay in ms (0 = sticky) |
position |
string | top-right |
top-right, top-left, bottom-right, bottom-left, top-center, bottom-center |
closeButton |
bool | true |
Show close button |
progressBar |
bool | true |
Show timeout progress bar |
rtl |
bool | false |
Right-to-left text direction |
escapeHtml |
bool | true |
Escape HTML in messages |
Requirements
| Requirement | Version |
|---|---|
| PHP | >= 8.2 |
| Laravel | >= 11.0 |
| Symfony | >= 7.0 |
Documentation
For complete documentation, visit php-flasher.io
- Installation Guide
- Laravel Integration
- Symfony Integration
- Livewire Integration
- Inertia.js Integration
- Themes Gallery
- JavaScript Usage
Contributing
Contributions are welcome! Please feel free to submit a Pull Request.
Contributors
Support the Project
If PHPFlasher helps you build better applications, please consider:
- Star this repository to show your support
- Report bugs to help improve the library
- Share on Twitter to spread the word
License
PHPFlasher is open-source software licensed under the MIT license.
Related Packages
Seamlessly integrate flash notifications into your Laravel applications with PHP...
Integrate flash notifications into Symfony projects effortlessly with PHPFlasher...
Incorporate SweetAlert's interactive notifications into Laravel applications wit...
Bring Noty.js flash notifications to Symfony projects using PHPFlasher. Leverage...
PHPFlasher - A powerful & easy-to-use package for adding flash messages to Larav...