Weave Code
Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Flash Laravel Package

slim/flash

slim/flash adds flash messaging to Slim Framework applications, storing short-lived messages in the session so they survive a redirect and display once on the next request. It offers a simple PSR-7-friendly API, middleware integration, and multiple message levels.

View on GitHub
Deep Wiki
Context7

Slim Framework Flash message service provider

Frequently asked questions about Flash
What is slim/flash used for?
slim/flash provides session-backed flash messages for Slim Framework applications. It lets you queue a short-lived notification before a redirect and read it once on the next request. The API is intentionally small: addMessage(), getMessages(), and related helpers, with messages stored in the session and cleared after retrieval.
Can I use slim/flash in a Laravel application?
No. slim/flash is a Slim service provider that registers a flash store in Slim's container; it is not a Laravel package and ships no Laravel service provider or PSR-11 container bridge for Laravel. Laravel already handles this natively through session()->flash(), redirect()->with(), and the $errors bag, including CSRF, encryption, and cookie lifecycle. Adopting slim/flash in Laravel would duplicate native behavior and add a dormant dependency.
How do I install and register slim/flash?
Install it with Composer using composer require slim/flash, then register the Messages middleware in your Slim application so the flash store is available through the container. A session must be started, since messages are persisted there between requests. Once registered, controllers or routes can call addMessage() before a redirect and getMessages() on the following request.
Does slim/flash support Laravel 10 or Laravel 11?
It does not target Laravel at all, so Laravel 10 and Laravel 11 are not supported integration targets. The package is built around Slim's middleware and DI container, and Laravel's session flashing is already framework-managed. For Laravel, use the built-in session()->flash() and redirect()->with() APIs rather than adding slim/flash.
What changed in slim/flash 0.4.0?
Version 0.4.0 added three additive APIs: getFirstMessage(), clearMessage() and clearMessages(), and a configurable storage key. The release notes do not state breaking changes or deprecations, but because this is a 0.x package, a minor bump is still permitted to break compatibility under semver. If you pin it, pin exactly to 0.4.0 and diff composer.json against your previous tag.
What is the best Laravel alternative to slim/flash?
Laravel's native session flashing is the correct alternative and needs no package. Use session()->flash() or redirect()->with() to persist one-request messages, and use the $errors bag for validation feedback. These APIs are integrated with Laravel's session driver, encryption, and middleware stack, so a third-party flash package adds no value.
Is slim/flash maintained and safe for production?
The package had a multi-year dormancy before shipping 0.4.0, so one release is a data point rather than a maintenance cadence. There is no visible security-response process, no CVE feed, and no dependents, so lifecycle risk remains high even though the code itself is small, MIT-licensed, and fork-friendly. Treat 0.4.0 as a signal to watch, not evidence of revival.
How do I display flash messages after a redirect in Slim?
In the route handling the form submission, call addMessage() with a type and text, then redirect to the next page. On the following request, call getMessages() and pass the result to your template. Retrieval clears the stored messages, so they display once and do not reappear on refresh.
Can slim/flash handle multiple message types such as success and error?
Yes. addMessage() accepts a message type, so you can store success, error, warning, or other levels independently. getMessages() returns the messages grouped by type, letting templates render each level differently. Version 0.4.0 also added clearMessage() and clearMessages() for explicit bulk clearing when you need it.
Does slim/flash work with Slim 4 and PSR-15 middleware?
That is not confirmed. Slim 4 and PSR-15 wiring were flagged as open gates in prior technical review, and the 0.4.0 release notes do not claim any Slim-major or PHP-version support change. Re-test Composer resolution and runtime behavior against the new composer.json before relying on it, especially on a modern PHP 8.x platform pin.
Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
robertmarney/lara-hierarchial-collections
simonschaufi/rule-doc-generator
emissaoja/emissaoja
blackbricksoftware/gravityforms-civicrm-form-processor
al-rahabi/fancy-crud
jinas/dhivatar-component
mltstephane/laravel-quality
bernskiold/laravel-talentlms
bernskioldmedia/laravel-form-architect
youbar/easy-crud
c-point-labs/laravel-hostyourai
dbravoan/dbcms-admin-theme-dbcms
dbravoan/dbcms-theme-db-cyber
dbravoan/dbcms-blocks-basic
dbravoan/dbcms-module-content-audit
dbravoan/dbcms-module-ai-assistant
paygate-to/paygate-php
padosoft/askmydocs-connector-base
defstudio/supercharged-carbon
bernskioldmedia/laravel-matomo