webware / webware-message
A Sessions backed flash messenger for Mezzio
Requires
- php: ~8.4.1 || ~8.5.0
- mezzio/mezzio-session: ^1.17.0
- mezzio/mezzio-session-ext: ^1.21.0
- webware/message-bus: ^2.0.0-beta.1
Requires (Dev)
- infection/infection: ^0.34.1
- laminas/laminas-diactoros: ^3.6.0
- laminas/laminas-view: ^3.1.0
- phpbench/phpbench: ^1.7
- phpunit/phpunit: ^13.3.0
- psr/container: ^2.0
- psr/http-message: ^2.0
- psr/http-server-handler: ^1.0
- psr/http-server-middleware: ^1.0
- roave/backward-compatibility-check: ^8.21.0
- roave/security-advisories: dev-master
- webware/messagebus-event: ^2.0.0-beta.1
- webware/webware-tools: ^0.1.x-dev
Suggests
- laminas/laminas-view: Required when the consuming application does not provide the HelperPluginManager service used by the SystemMessenger view helper
This package is auto-updated.
Last update: 2026-08-18 01:45:02 UTC
README
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.