Flash Messages

Install

Via Composer

$ composer require slim/flash

Requires Slim 3.0.0 or newer.

Usage

// Start PHP session
session_start(); //by default requires session storage

$app = new \Slim\App();

// Fetch DI Container
$container = $app->getContainer();

// Register provider
$container['flash'] = function () {
    return new \Slim\Flash\Messages();
};

$app->get('/foo', function ($req, $res, $args) {
    // Set flash message for next request
    $this->flash->addMessage('Test', 'This is a message');

    // Redirect
    return $res->withStatus(302)->withHeader('Location', '/bar');
});

$app->get('/bar', function ($req, $res, $args) {
    // Add message to be used in current request
    $this->flash->addMessageNow('Test', 'This is another message');

    // Get flash messages from previous request
    $messages = $this->flash->getMessages();

    // Returns both flash messages
    print_r($messages);
});

$app->run();

Please note that a message could be a string, object or array. Please check what your storage can handle.