Viewing file: SessionCache.php (1.17 KB) -rw-r--r-- Select action/file-type: (+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
declare(strict_types=1);
namespace PhpMyAdmin\Utils;
final class SessionCache { private static function key(): string { global $cfg, $server;
$key = 'server_' . $server;
if (isset($cfg['Server']['user'])) { return $key . '_' . $cfg['Server']['user']; }
return $key; }
public static function has(string $name): bool { return isset($_SESSION['cache'][self::key()][$name]); }
/** * @return mixed|null */ public static function get(string $name, ?callable $defaultValueCallback = null) { if (self::has($name)) { return $_SESSION['cache'][self::key()][$name]; }
if ($defaultValueCallback !== null) { $value = $defaultValueCallback(); self::set($name, $value);
return $value; }
return null; }
/** * @param mixed $value */ public static function set(string $name, $value): void { $_SESSION['cache'][self::key()][$name] = $value; }
public static function remove(string $name): void { unset($_SESSION['cache'][self::key()][$name]); } }
|