Skip to content

Repository files navigation

webware/webware-message

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.

About

Flash messages

Resources

Contributing

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages