Help Palestine

PHPFlasher Logo

Author Badge Source Code Badge GitHub Release Badge License Badge Packagist Downloads Badge GitHub Stars Badge Supported PHP Version Badge

## 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 Adapter For 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 here flash('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 here app('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
Younes ENNAJI

💻 📖 🚧
Salma Mourad
Salma Mourad

💵
Nashwan Abdullah
Nashwan Abdullah

💵
Arvid de Jong
Arvid de Jong

💵
Ash Allen
Ash Allen

🎨
Tony Murray
Tony Murray

💻
Stéphane P
Stéphane P

📖
Lucas Maciel
Lucas Maciel

🎨
Ahmed Gamal
Ahmed Gamal

💻 📖
Brooke.
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:younes.ennaji.pro@gmail.com) ## License PHPFlasher is open-sourced software licensed under the [MIT license](https://opensource.org/licenses/MIT).

Made with ❤️ by Younes ENNAJI