Server-side Message Queue/Output

XHTML

Load Messages Via XML Load Messages Via JSON
/** * A drastically simplified Message object in order to keep the example readable */ class Message { public $content; public $type; public function __construct($content = '', $type = 'message') { $this->content = $content; $this->type = $type; } } class Messenger { // The $message_queue holds all types of messages in order to // return all of them at once if and when requested protected $message_queue; /** * Returns the entire queue */ public function getQueue() { return $this->message_queue; } /** * Add a message to the specified queue */ public function add($message, $type) { $this->message_queue[] = new Message($message, $type); } /** * Creates the initial queue array */ public function __construct() { $this->message_queue = array(); } } /*****XHTML*****/ <ul class="messages"> <?php foreach ($messages as $message) { ?> <li class="<?php echo htmlentities($message->type); ?>"> <?php echo htmlentities($message->content); ?> </li> <?php } ?> </ul> /*****JSON*****/ <?php $last = count($messages) - 1; ?> { "messages" : [ <?php foreach ($messages as $i => $message) { ?> { "content" : "<?php echo str_replace('"', '\\"', $message->content); ?>", "type" : "<?php echo str_replace('"', '\\"', $message->type); ?>" } <?php if ($i != $last) print ','; } ?> ] } /*****XML*****/ <messages> <?php foreach ($messages as $message) { ?> <message type="<?php echo htmlentities($message->type); ?>"> <?php echo htmlentities($message->content); ?> </message> <?php } ?> </messages>