jjok / flasher
A simple flash message queue.
1.1.0
2014-07-02 16:06 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-12-21 15:37:15 UTC
README
A simple flash message queue.
Examples
Use jjok\Flasher\Flasher
for a simple message queue.
use jjok\Flasher\Flasher;
use jjok\Flasher\Messages\Message;
// Create a new queue
$message_queue = new Flasher();
// Add some messages
$message_queue->enqueue(new Message('This is a message.'));
$message_queue->enqueue(new Message('This is a second message.'));
// Print out each message. (Messages remain queued)
foreach($message_queue as $message) {
echo $message;
}
// "This is a message."
// "This is a second message."
or
// Dequeue each message. (Empties the queue)
while(!$message_queue->isEmpty()) {
echo $message_queue->dequeue();
}
// "This is a message."
// "This is a second message."
Use jjok\Flasher\SessionFlasher
to automatically store queued messages in the session.
use jjok\Flasher\Factory;
use jjok\Flasher\Messages\Message;
// Start the session
session_start();
$factory = new Factory();
// Get a new message queue, loading any previously queued messages from the session.
$message_queue = $factory->createSessionFlasher($_SESSION, 'queued_messages');
// Add a message.
$message_queue->enqueue(new Message('This is a message that was stored in the session.'));
// The page is reloaded, or redirects before messages are shown.
unset($message_queue);
$message_queue = $factory->createSessionFlasher($_SESSION, 'queued_messages');
// Dequeue each message
while(!$message_queue->isEmpty()) {
echo $message_queue->dequeue();
}
// "This is a message that was stored in the session."
Run tests
php -r readfile("https://phar.phpunit.de/phpunit.phar"); > phpunit.phar
php phpunit.phar
TODO
- Add MessageFactory class.
Copyright (c) 2014 Jonathan Jefferies