dotkernel / dot-flashmessenger
Dotkernel flash messenger component for session messages between redirects
Installs: 23 312
Dependents: 7
Suggesters: 0
Security: 0
Stars: 6
Watchers: 2
Forks: 2
Open Issues: 2
pkg:composer/dotkernel/dot-flashmessenger
Requires
- php: ~8.2.0 || ~8.3.0 || ~8.4.0 || ~8.5.0
- laminas/laminas-session: ^2.17.0
- mezzio/mezzio-template: ^2.9.0 || ^3.0.0
- psr/http-message: ^1.0 || ^2.0
Requires (Dev)
- laminas/laminas-coding-standard: ^3.0.0
- phpstan/phpstan: ^2.1
- phpstan/phpstan-phpunit: ^2.0
- phpunit/phpunit: ^10.4.2
README
Flash messenger library for session messages between redirects. A flash message, or session message is a piece of text data that survives one request (available only in the next request). This library accepts session data as well, not just string messages, with the same behavior. The flash messenger is a convenient way to add data to the session and get it back on the next request without bothering with setting and clearing the data manually.
Documentation
Documentation is available at: https://docs.dotkernel.org/dot-flashmessenger/.
Badges
Installation
Run the following command in your project folder
composer require dotkernel/dot-flashmessenger
This will also install laminas/laminas-session as session handling is based on this library.
Next, merge the ConfigProvider to your application's configuration.
Configuration
return [ 'dot_flashmessenger' => [ 'namespace' => 'flash messages session namespace name' ], ];
Sets the session namespace to be used for all flash messages and data.
Usage
If following the installation step, you'll already have a FlashMessenger service in the service manager. Inject this service in your classes, wherever you need flash messages.
Getting the service in a factory
$container->get(FlashMessengerInterface::class);
Using the flash messenger service
To add and retrieve text messages
$this->flashMessenger->addMessage('error', 'This is a error flash message'); //on the next request you can get all messages from a namespace, or all messages from all namespaces if the namespace is omitted $this->flashMessenger->getMessages('error');
Adding general data, not just messages, has a different method for that, accepting data as key/value pairs
$this->flashMessenger->addData('myData', $someData); // next request $this->flashMessenger->getData('myData');
There are also some predefined namespaces, along with shortcuts to add a message in the predefined namespaces
FlashMessengerInterface::ERROR_NAMESPACE FlashMessengerInterface::WARNING_NAMESPACE FlashMessengerInterface::INFO_NAMESPACE FlashMessengerInterface::SUCCESS_NAMESPACE
using the methods:
public function addError(string|array $error); public function addInfo(string|array $info); public function addWarning(string|array $warning); public function addSuccess(string|array $success);
FlashMessengerRenderer
A class that is able to parse the content of the flash messenger service in an HTML format. It uses the TemplateInterface to parse a partial, sending to the partial template the messages, the service and the renderer itself. There is also a Twig extension provided in dot-twigrenderer, for easy parsing of messages blocks.
Registered services
Dot\FlashMessenger\FlashMessengerInterface::class
The flash messenger service
Dot\FlashMessenger\View\RendererInterface::class