Recommend this page to a friend! |
Download |
Info | Documentation | Files | Install with Composer | Download | Reputation | Support forum | Blog | Links |
Last Updated | Ratings | Unique User Downloads | Download Rankings | |||||
2025-01-05 (9 days ago) | Not enough user ratings | Total: 48 This week: 7 | All time: 10,753 This week: 7 |
Version | License | PHP version | Categories | |||
flash-messages 1.0.1 | Custom (specified... | 7.4 | HTML, User Management, PHP 7 |
Description | Author | |
This package can store and display messages for site users. |
composer require nassiry/flash-messages
require __DIR__ . '/vendor/autoload.php';
use Nassiry\FlashMessages\FlashMessages;
// Create an instance
$flash = FlashMessages::create();
// Add flash messages to be displayed on the next page load
$flash->success('Operation successful!');
$flash->error('An error occurred.');
// Render messages on the next page template file
$flash->render();
Explore the README file for more detailed examples.
<div align="center">
</div>
A lightweight PHP library for handling flash messages with session storage & simple HTML rendering. This package does not depend on any framework, but it can be integrated with frameworks like Laravel, Symfony, CakePHP, and CodeIgniter if needed.
The recommended way use Composer to install the package:
composer require nassiry/flash-messages
By default, the package stores messages in sessions to be displayed on the next page load.
require __DIR__ . '/vendor/autoload.php';
use Nassiry\FlashMessages\FlashMessages;
// Create an instance
$flash = FlashMessages::create();
// Add flash messages to be displayed on the next page load
$flash->success('Operation successful!');
$flash->error('An error occurred.');
// Render messages on the next page template file
$flash->render();
> Note: Ensure that session_start();
has been called in your script before using.
To display a message on the current page, set the second argument to true
(default is false
):
require __DIR__ . '/vendor/autoload.php';
use Nassiry\FlashMessages\FlashMessages;
// Create an instance
$flash = FlashMessages::create();
// Add flash messages to be displayed immediately
$flash->error('An error occurred.', true);
// Render messages instantly in the same page
$flash->render();
You can check if there are any stored messages:
if ($flash->hasMessages()) {
echo "There are flash messages available.";
}
You can retrieve all stored messages as an array:
$messages = $flash->getMessages();
foreach ($messages as $message) {
echo $message['type'] . ': ' . $message['message'] . "<br>";
}
Outputs all flash messages with default HTML structure
$flash->render();
<div class="flash flash-success">Operation successful!</div>
<div class="flash flash-error">An error occurred!</div>
To clear all stored messages:
$flash->clear();
Currently, the package support following message types.
- $flash->success('Success message!');
- $flash->error('Error message!');
- $flash->info('Informational message!');
- $flash->warning('Warning message!');
- addCustomType(string $type, string $message, bool $instant = false)
$flash->addCustomType('notification',
'This is a custom notification message!',
true
);
$flash->addCustomType('alert',
'This is an alert message!',
false
);
If you need to customize the way messages are displayed, extend the FlashMessageRenderer
class:
use Nassiry\FlashMessages\FlashMessageRenderer;
class CustomRenderer extends FlashMessageRenderer
{
public function renderMessage(string $type, string $message): void
{
echo sprintf('<div class="custom-%s">%s</div>', htmlspecialchars($type), htmlspecialchars($message));
}
}
$renderer = new CustomRenderer();
$flash = new FlashMessages(new FlashMessageStorage(), $renderer);
$flash->success('Custom rendered message!');
$flash->render();
Run the unit tests to ensure the package works as expected:
Ensure you have all dependencies installed by running:
composer install
Execute the following command to run the test suite:
composer test
This package is open-source software licensed under the MIT license.
Contributions are welcome! Please feel free to submit a Pull Request or open an issue.
Files (9) | / | src |
File | Role | Description |
---|---|---|
FlashMessageInterface.php | Class | Class source |
FlashMessageRenderer.php | Class | Class source |
FlashMessages.php | Class | Class source |
FlashMessageStorage.php | Class | Class source |
The PHP Classes site has supported package installation using the Composer tool since 2013, as you may verify by reading this instructions page. |
Install with Composer |
Version Control | Unique User Downloads | Download Rankings | |||||||||||||||
100% |
|
|
Applications that use this package |
If you know an application of this package, send a message to the author to add a link here.