Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/php-flasher/php-flasher
The home of PHPFlasher, a PHP library for easy, customizable notification messages in web development projects. With implementations for Laravel, Symfony, and standalone use, PHPFlasher simplifies the process of adding notifications to web applications. The mono repository enables efficient collaboration and version control among developers.
https://github.com/php-flasher/php-flasher
custom-adapter dark-mode desktop-notifications flash-messages framework-agnostic javascript laravel notification-system noty notyf php phptorm-auto-complete pnotify rtl sweetalert symfony toastr user-experience user-feedback yoeunes
Last synced: about 1 month ago
JSON representation
The home of PHPFlasher, a PHP library for easy, customizable notification messages in web development projects. With implementations for Laravel, Symfony, and standalone use, PHPFlasher simplifies the process of adding notifications to web applications. The mono repository enables efficient collaboration and version control among developers.
- Host: GitHub
- URL: https://github.com/php-flasher/php-flasher
- Owner: php-flasher
- License: mit
- Created: 2020-12-01T20:49:15.000Z (about 4 years ago)
- Default Branch: 2.x
- Last Pushed: 2024-05-22T22:18:15.000Z (7 months ago)
- Last Synced: 2024-05-23T04:26:42.269Z (7 months ago)
- Topics: custom-adapter, dark-mode, desktop-notifications, flash-messages, framework-agnostic, javascript, laravel, notification-system, noty, notyf, php, phptorm-auto-complete, pnotify, rtl, sweetalert, symfony, toastr, user-experience, user-feedback, yoeunes
- Language: PHP
- Homepage: https://php-flasher.io
- Size: 16.9 MB
- Stars: 225
- Watchers: 3
- Forks: 12
- Open Issues: 11
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-morocco - PHPFlasher - flasher/php-flasher.svg?style=social)](https://github.com/php-flasher/php-flasher/stargazers) - A powerful and flexible flash notification system for PHP (Uncategorized / Uncategorized)
README
## Table of Contents
- [About PHPFlasher](#about-phpflasher)
- [Features](#features)
- [Supported Versions](#supported-versions)
- [Installation](#installation)
- [Core Package](#core-package)
- [Adapters](#adapters)
- [Quick Start](#quick-start)
- [Usage Examples](#usage-examples)
- [Adapters Overview](#adapters-overview)
- [Official Documentation](#official-documentation)
- [Contributors and Sponsors](#contributors-and-sponsors)
- [Contact](#contact)
- [License](#license)## About PHPFlasher
PHPFlasher is an open-source tool that helps you add flash messages to your web applications. Flash messages are short notifications that provide feedback to users after they perform actions, such as submitting a form or encountering an error. These messages enhance the user experience by informing users about the outcomes of their actions.
PHPFlasher simplifies the process of integrating flash messages into **Laravel** and **Symfony** projects. It uses sessions to store messages, allowing you to set a message on one page and display it on another without complex setup.
## Features
- **Multiple Adapters**: Supports Laravel, Symfony, Toastr, Noty, SweetAlert, and more.
- **Flexible Configuration**: Customize the appearance and behavior of flash messages.
- **Extensible**: Easily integrate with various frontend libraries and frameworks.
- **Intuitive API**: Simple functions to create and manage flash messages.## Supported Versions
| PHPFlasher Version | PHP Version | Symfony Version | Laravel Version |
|--------------------|-------------|-----------------|-----------------|
| **v2.x** | ≥ 8.2 | ≥ 7.2 | ≥ 11 |
| **v1.x** | ≥ 5.3 | ≥ 2.0 | ≥ 4.0 |> **Note:** If your project uses PHP, Symfony, or Laravel versions below the requirements for PHPFlasher v2.x, please use [PHPFlasher v1.x](https://github.com/php-flasher/php-flasher/tree/1.x).
## Installation
### Core Package
Install the core PHPFlasher package via Composer:
- **For Laravel:**
```bash
composer require php-flasher/flasher-laravel
```After installation, set up the necessary assets:
```shell
php artisan flasher:install
```> **Note:** PHPFlasher automatically injects the necessary JavaScript and CSS assets into your Blade templates. No additional steps are required for asset injection.
- **For Symfony:**
```bash
composer require php-flasher/flasher-symfony
```After installation, set up the necessary assets:
```shell
php bin/console flasher:install
```> **Note:** PHPFlasher automatically injects the necessary JavaScript and CSS assets into your Twig templates. No additional steps are required for asset injection.
### Adapters
PHPFlasher provides various adapters for different frameworks and notification libraries. Below is an overview of available adapters:
#### Toastr
- [flasher-toastr](https://github.com/php-flasher/flasher-toastr) - Core Toastr Adapter
- [flasher-toastr-laravel](https://github.com/php-flasher/flasher-toastr-laravel) - Laravel Adapter
- [flasher-toastr-symfony](https://github.com/php-flasher/flasher-toastr-symfony) - Symfony Adapter#### Noty
- [flasher-noty](https://github.com/php-flasher/flasher-noty) - Core Noty Adapter
- [flasher-noty-laravel](https://github.com/php-flasher/flasher-noty-laravel) - Laravel Adapter
- [flasher-noty-symfony](https://github.com/php-flasher/flasher-noty-symfony) - Symfony Adapter#### Notyf
- [flasher-notyf](https://github.com/php-flasher/flasher-notyf) - Core Notyf Adapter
- [flasher-notyf-laravel](https://github.com/php-flasher/flasher-notyf-laravel) - Laravel Adapter
- [flasher-notyf-symfony](https://github.com/php-flasher/flasher-notyf-symfony) - Symfony Adapter#### SweetAlert
- [flasher-sweetalert](https://github.com/php-flasher/flasher-sweetalert) - Core SweetAlert Adapter
- [flasher-sweetalert-laravel](https://github.com/php-flasher/flasher-sweetalert-laravel) - Laravel Adapter
- [flasher-sweetalert-symfony](https://github.com/php-flasher/flasher-sweetalert-symfony) - Symfony AdapterFor detailed installation and usage instructions for each adapter, refer to their respective [README.md](https://github.com/php-flasher/flasher-toastr).
## Quick Start
To display a notification message, you can either use the `flash()` helper function or obtain an instance of `flasher` from the service container. Then, before returning a view or redirecting, call the desired method (`success()`, `error()`, etc.) and pass in the message to be displayed.
### Using the `flash()` Helper
```php
class BookController
{
public function saveBook()
{
// Your logic hereflash('Your changes have been saved!');
return redirect()->back();
}
}
```### Using the `flasher` Service
```php
use Flasher\Prime\FlasherInterface;class AnotherController
{
/**
* If you prefer to use dependency injection
*/
public function register(FlasherInterface $flasher)
{
// Your logic here
$flasher->success('Your changes have been saved!');// ... redirect or render the view
}public function update()
{
// Your logic hereapp('flasher')->error('An error occurred while updating.'); // ony for laravel
return redirect()->back();
}
}
```## Usage Examples
### Success Message
```php
flash()->success('Operation completed successfully!');
```### Error Message
```php
flash()->error('An error occurred.');
```### Info Message
```php
flash()->info('This is an informational message.');
```### Warning Message
```php
flash()->warning('This is a warning message.');
```### Passing Options
```php
flash()->success('Custom message with options.', ['timeout' => 3000, 'position' => 'bottom-left']);
```## Adapters Overview
PHPFlasher supports various adapters to integrate seamlessly with different frameworks and frontend libraries. Below is an overview of available adapters:
| Adapter Repository | Description |
|-----------------------------------------------------------------------------------------|--------------------------------|
| [flasher-laravel](https://github.com/php-flasher/flasher-laravel) | Laravel framework adapter |
| [flasher-symfony](https://github.com/php-flasher/flasher-symfony) | Symfony framework adapter |
| [flasher-toastr-laravel](https://github.com/php-flasher/flasher-toastr-laravel) | Toastr adapter for Laravel |
| [flasher-toastr-symfony](https://github.com/php-flasher/flasher-toastr-symfony) | Toastr adapter for Symfony |
| [flasher-noty-laravel](https://github.com/php-flasher/flasher-noty-laravel) | Noty adapter for Laravel |
| [flasher-noty-symfony](https://github.com/php-flasher/flasher-noty-symfony) | Noty adapter for Symfony |
| [flasher-notyf-laravel](https://github.com/php-flasher/flasher-notyf-laravel) | Notyf adapter for Laravel |
| [flasher-notyf-symfony](https://github.com/php-flasher/flasher-notyf-symfony) | Notyf adapter for Symfony |
| [flasher-sweetalert-laravel](https://github.com/php-flasher/flasher-sweetalert-laravel) | SweetAlert adapter for Laravel |
| [flasher-sweetalert-symfony](https://github.com/php-flasher/flasher-sweetalert-symfony) | SweetAlert adapter for Symfony |> **Note:** Each adapter has its own repository. For detailed installation and usage instructions, please refer to the [Official Documentation](https://php-flasher.io).
## Official Documentation
Comprehensive documentation for PHPFlasher is available at [https://php-flasher.io](https://php-flasher.io). Here you will find detailed guides, API references, and advanced usage examples to help you get the most out of PHPFlasher.
## Contributors and sponsors
Join our team of contributors and make a lasting impact on our project!
We are always looking for passionate individuals who want to contribute their skills and ideas.
Whether you're a developer, designer, or simply have a great idea, we welcome your participation and collaboration.Shining stars of our community:
Younes ENNAJI
💻 📖 🚧
Salma Mourad
💵
Nashwan Abdullah
💵
Arvid de Jong
💵
Ash Allen
🎨
Tony Murray
💻
Stéphane P
📖
Lucas Maciel
🎨
Ahmed Gamal
💻 📖
Brooke.
📖
## Contact
PHPFlasher is being actively developed by yoeunes.
You can reach out with questions, bug reports, or feature requests on any of the following:- [Github Issues](https://github.com/php-flasher/php-flasher/issues)
- [Github](https://github.com/yoeunes)
- [Twitter](https://twitter.com/yoeunes)
- [Linkedin](https://www.linkedin.com/in/younes--ennaji/)
- [Email me directly](mailto:[email protected])## License
PHPFlasher is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).
Made with ❤️ by Younes ENNAJI