Elegant Flash Notifications for PHP
One line of PHP. Beautiful notifications. Zero JavaScript.
Documentation ·
Live Playground ·
Report Bug
---
## Quick Start
**Laravel:**
```bash
composer require php-flasher/flasher-laravel && php artisan flasher:install
```
**Symfony:**
```bash
composer require php-flasher/flasher-symfony && php bin/console flasher:install
```
**That's it!** Now use it:
```php
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 |
| **26 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
```php
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
```php
flash()->success('Your changes have been saved.', 'Update Complete');
flash()->error('Unable to connect to server.', 'Connection Failed');
```
### With Options
```php
flash()->success('Profile updated!', [
'position' => 'bottom-right',
'timeout' => 10000,
]);
```
---
## 26 Beautiful Themes
PHPFlasher includes **26 professionally designed themes** ready to use:
```php
flash()->success('Welcome!', ['theme' => 'amazon']);
flash()->success('Welcome!', ['theme' => 'ios']);
flash()->success('Welcome!', ['theme' => 'slack']);
flash()->success('Welcome!', ['theme' => 'material']);
```
View All Themes
| Theme | Style |
|-------|-------|
| `flasher` | Default clean design |
| `amazon` | Amazon-inspired |
| `bootstrap` | Bootstrap style |
| `ios` | Apple iOS notifications |
| `slack` | Slack messaging style |
| `material` | Google Material Design |
| `tailwind` | Tailwind CSS inspired |
| `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 |
| `shadow` | Soft shadow effects |
| `spectrum` | Colorful spectrum |
| `sunset` | Warm sunset colors |
| `zen` | Calm minimal design |
[**See all themes with live demos →**](https://php-flasher.io/themes)
---
## Notification Libraries
Need more features? Use popular notification libraries:
### Toastr
```bash
composer require php-flasher/flasher-toastr-laravel
```
```php
toastr()->success('Profile saved!', [
'positionClass' => 'toast-bottom-right',
'progressBar' => true,
]);
```
### SweetAlert
```bash
composer require php-flasher/flasher-sweetalert-laravel
```
```php
sweetalert()
->showDenyButton()
->showCancelButton()
->warning('Do you want to save changes?');
```
### Noty
```bash
composer require php-flasher/flasher-noty-laravel
```
```php
noty()->success('Data synchronized!', [
'layout' => 'topCenter',
'timeout' => 3000,
]);
```
### Notyf
```bash
composer require php-flasher/flasher-notyf-laravel
```
```php
notyf()->success('Upload complete!', [
'dismissible' => true,
'ripple' => true,
]);
```
---
## Livewire Integration
PHPFlasher integrates seamlessly with Laravel Livewire:
```php
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
}
}
```
[**Livewire documentation →**](https://php-flasher.io/livewire)
---
## Configuration
### Laravel
```php
// config/flasher.php
return [
'default' => 'flasher',
'themes' => [
'flasher' => [
'options' => [
'timeout' => 5000,
'position' => 'top-right',
],
],
],
];
```
### Symfony
```yaml
# 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](https://php-flasher.io)**
- [Installation Guide](https://php-flasher.io/installation)
- [Usage & Examples](https://php-flasher.io/usage)
- [Themes Gallery](https://php-flasher.io/themes)
- [Livewire Integration](https://php-flasher.io/livewire)
- [Configuration Reference](https://php-flasher.io/configuration)
- [API Reference](https://php-flasher.io/api)
---
## Contributing
Contributions are welcome! Please see our [Contributing Guide](CONTRIBUTING.md) for details.
## Contributors
---
## Support the Project
If PHPFlasher helps you build better applications, please consider:
- **[Star this repository](https://github.com/php-flasher/php-flasher)** to show your support
- **[Report bugs](https://github.com/php-flasher/php-flasher/issues)** to help improve the library
- **[Share on Twitter](https://twitter.com/intent/tweet?text=Check%20out%20PHPFlasher%20-%20beautiful%20flash%20notifications%20for%20PHP!&url=https://github.com/php-flasher/php-flasher)** to spread the word
---
## License
PHPFlasher is open-source software licensed under the [MIT license](LICENSE).
Made with ❤️ by Younes ENNAJI
⭐ Star if you find this useful!