| Server IP : 127.0.0.1 / Your IP : 216.73.216.48 Web Server : Apache/2.4.58 (Win64) OpenSSL/3.1.3 PHP/8.2.12 System : Windows NT DESKTOP-3H4FHQJ 10.0 build 19045 (Windows 10) AMD64 User : win 10 ( 0) PHP Version : 8.2.12 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : OFF | Perl : OFF | Python : OFF | Sudo : OFF | Pkexec : OFF Directory : D:/xampp/phpMyAdmin/libraries/classes/ |
Upload File : |
<?php
declare(strict_types=1);
namespace PhpMyAdmin;
use RuntimeException;
use function __;
final class FlashMessages
{
private const STORAGE_KEY = 'flashMessages';
/** @var array */
private $storage;
/** @var array<string, string[]> */
private $previousMessages = [];
public function __construct()
{
if (! isset($_SESSION)) {
throw new RuntimeException(__('Session not found.'));
}
$this->storage = &$_SESSION;
if (isset($this->storage[self::STORAGE_KEY])) {
$this->previousMessages = $this->storage[self::STORAGE_KEY];
}
$this->storage[self::STORAGE_KEY] = [];
}
public function addMessage(string $key, string $message): void
{
if (! isset($this->storage[self::STORAGE_KEY][$key])) {
$this->storage[self::STORAGE_KEY][$key] = [];
}
$this->storage[self::STORAGE_KEY][$key][] = $message;
}
/** @return string[]|null */
public function getMessage(string $key): ?array
{
return $this->previousMessages[$key] ?? null;
}
/** @return array<string, string[]> */
public function getMessages(): array
{
return $this->previousMessages;
}
}