Server : Apache/2.4.58 (Ubuntu) System : Linux yumsem00.cafe24.com 5.4.0-131-generic #147-Ubuntu SMP Fri Oct 14 17:07:22 UTC 2022 x86_64 User : root ( 0) PHP Version : 8.2.14 Disable Function : NONE Directory : /var/www/html/php/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; } }