jjok / flasher
一个简单的消息队列。
1.1.0
2014-07-02 16:06 UTC
Requires
- php: >=5.3.0
This package is not auto-updated.
Last update: 2024-09-14 14:09:09 UTC
README
一个简单的消息队列。
示例
使用 jjok\Flasher\Flasher
实现简单的消息队列。
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."
或者
// Dequeue each message. (Empties the queue)
while(!$message_queue->isEmpty()) {
echo $message_queue->dequeue();
}
// "This is a message."
// "This is a second message."
使用 jjok\Flasher\SessionFlasher
自动将队列中的消息存储到会话中。
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."
运行测试
php -r readfile("https://phar.phpunit.de/phpunit.phar"); > phpunit.phar
php phpunit.phar
待办事项
- 添加 MessageFactory 类。
版权所有 (c) 2014 Jonathan Jefferies