webware/webware-message

A Sessions backed flash messenger for Mezzio

Maintainers

Package info

github.com/webinertia/webware-message

Homepage

Chat

pkg:composer/webware/webware-message

Transparency log

Statistics

Installs: 362

Dependents: 0

Suggesters: 0

Stars: 0

Open Issues: 1

1.0.0-beta.1 2026-08-18 01:34 UTC

This package is auto-updated.

Last update: 2026-08-18 01:45:02 UTC


README

PHP Version Latest Version License Continuous Integration codecov Mutation testing badge

A sessions-backed flash messenger for Mezzio applications. Provides PSR-15 middleware, a SystemMessengerInterface service, and a view helper for rendering bootstrap-style toast messages.

Documentation

Quick Start

composer require webware/webware-message

laminas/laminas-component-installer injects Webware\Message\ConfigProvider automatically.

Middleware

Register Webware\Message\Middleware\MessageMiddleware in the route pipeline (after the session middleware):

// config/pipeline.php
$app->pipe(Mezzio\Session\SessionMiddleware::class);
$app->pipe(Webware\Message\Middleware\MessageMiddleware::class);

Sending messages

The middleware exposes a Webware\Message\SystemMessenger instance as the request attribute SystemMessengerInterface::class:

use Webware\Message\MessageLevel;
use Webware\Message\SystemMessengerInterface;

/** @var SystemMessengerInterface $messenger */
$messenger = $request->getAttribute(SystemMessengerInterface::class);

$messenger->success('Saved!');          // current request only
$messenger->warning('Check this', 1);   // current + next request
$messenger->info('Heads up', 1, false); // next request only

Hops semantics: send() defaults to one hop (next request), sendNow() defaults to zero hops (current request only), and the level helpers (success, danger, info, warning) default to the current request.

Rendering

The systemMessenger view helper renders bootstrap-style toasts for all stored levels:

<?= $this->systemMessenger() ?>

Available levels are MessageLevel::Success, MessageLevel::Danger, MessageLevel::Warning, MessageLevel::Info, and MessageLevel::Message (SSE base type).

Contributing

See CONTRIBUTING.md.