PHP Classes

How to Use a PHP Flash Message Class to Display Important Messages to the Users using the Package PHP Flash Messages: Store and display messages to show for site users

Recommend this page to a friend!
  Info   Documentation   View files Files   Install with Composer Install with Composer   Download Download   Reputation   Support forum   Blog    
Last Updated Ratings Unique User Downloads Download Rankings
2025-01-05 (9 days ago) RSS 2.0 feedNot enough user ratingsTotal: 48 This week: 7All time: 10,753 This week: 7Up
Version License PHP version Categories
flash-messages 1.0.1Custom (specified...7.4HTML, User Management, PHP 7
Description 

Author

This package can store and display messages for site users.

It provides classes that store several messages in PHP session variables.

The class to display the messages can display one message on a web page, generating HTML to display the message.

Picture of aflaton
  Performance   Level  
Name: aflaton <contact>
Classes: 2 packages by
Country: Afghanistan Afghanistan
Innovation award
Innovation award
Nominee: 1x

Instructions

Installation

composer require nassiry/flash-messages

Usage

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.

Documentation

<div align="center">

Flash Messages Package

Tests Packagist Downloads Packagist Version PHP License

</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.

Features

  • Session-based flash message storage.
  • Instant message rendering.
  • Custom message types.
  • Fully framework-agnostic.

Installation

The recommended way use Composer to install the package:

composer require nassiry/flash-messages

Usage

By default, the package stores messages in sessions to be displayed on the next page load.

1. Default Usage (Display on 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.

2. Current Page Usage (Display Immediately)

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();

3. Checking for Messages

You can check if there are any stored messages:

if ($flash->hasMessages()) {
    echo "There are flash messages available.";
}

4. Retrieving Messages

You can retrieve all stored messages as an array:

$messages = $flash->getMessages();
foreach ($messages as $message) {
    echo $message['type'] . ': ' . $message['message'] . "<br>";
}

5. Rendering Messages

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>

6. Clearing Messages

To clear all stored messages:

$flash->clear();

Adding Different Types of Messages

Currently, the package support following message types. - $flash->success('Success message!'); - $flash->error('Error message!'); - $flash->info('Informational message!'); - $flash->warning('Warning message!');

Adding a custom type 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
);

Custom Rendering Logic

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();

Testing

Run the unit tests to ensure the package works as expected:

1. Prerequisites

Ensure you have all dependencies installed by running:

composer install

2. Running Tests

Execute the following command to run the test suite:

composer test

License

This package is open-source software licensed under the MIT license.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request or open an issue.


  Files folder image Files (9)  
File Role Description
Files folder image.github (1 directory)
Files folder imagesrc (4 files)
Files folder imagetests (1 file)
Accessible without login Plain text file composer.json Data Auxiliary data
Accessible without login Plain text file LICENSE Lic. License text
Accessible without login Plain text file README.md Doc. Documentation

  Files folder image Files (9)  /  .github  
File Role Description
Files folder imageworkflows (1 file)

  Files folder image Files (9)  /  .github  /  workflows  
File Role Description
  Accessible without login Plain text file tests.yml Data Auxiliary data

  Files folder image Files (9)  /  src  
File Role Description
  Plain text file FlashMessageInterface.php Class Class source
  Plain text file FlashMessageRenderer.php Class Class source
  Plain text file FlashMessages.php Class Class source
  Plain text file FlashMessageStorage.php Class Class source

  Files folder image Files (9)  /  tests  
File Role Description
  Plain text file FlashMessagesTest.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 Install with Composer
 Version Control Unique User Downloads Download Rankings  
 100%
Total:48
This week:7
All time:10,753
This week:7Up