* Add native property types Includes TypeHints.UnionTypeHintFormat Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Set some default values for properties Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Format and promote properties Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Remove redundant asserts Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Redundant cast Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * $tmanager->theme is never null Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Redundant variable Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Fix empty on $statementInfo bool Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Redundant casts Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Redundant issets Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * getPacked() returns nullable string Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Redundant if Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * $this->content can be null Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Simplify ThemeManager::getInstance() Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Use isset for checking if property is initialized Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Use nullable instead of uninitialized property Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * password is no longer nullable I can't verify that none of the globals ever tried to set it to null, but the variable should never be nullable. Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Update baselines Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * $same_wide_width param can be float or int Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Update Message.php Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Cast Sub_part to int Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> * Fix one line doc comments Signed-off-by: Kamil Tekiela <tekiela246@gmail.com> --------- Signed-off-by: Kamil Tekiela <tekiela246@gmail.com>
69 lines
1.4 KiB
PHP
69 lines
1.4 KiB
PHP
<?php
|
|
|
|
declare(strict_types=1);
|
|
|
|
namespace PhpMyAdmin;
|
|
|
|
use function array_key_exists;
|
|
|
|
/**
|
|
* Cache values
|
|
*/
|
|
class Cache
|
|
{
|
|
/** @var array<string,mixed> */
|
|
private static array $cacheData = [];
|
|
|
|
/**
|
|
* Store a value
|
|
*
|
|
* @param string $cacheKey The key to use
|
|
* @param mixed $value The value to cache
|
|
*/
|
|
public static function set(string $cacheKey, $value): void
|
|
{
|
|
self::$cacheData[$cacheKey] = $value;
|
|
}
|
|
|
|
/**
|
|
* Does the cache have a value stored for the key
|
|
*
|
|
* @param string $cacheKey The key to use
|
|
*/
|
|
public static function has(string $cacheKey): bool
|
|
{
|
|
return array_key_exists($cacheKey, self::$cacheData);
|
|
}
|
|
|
|
/**
|
|
* Get back a cached value
|
|
*
|
|
* @param string $cacheKey The key to use
|
|
* @param mixed $defaultValue The default value in case it does not exist
|
|
*
|
|
* @return mixed The cached value
|
|
*/
|
|
public static function get(string $cacheKey, $defaultValue = null): mixed
|
|
{
|
|
return self::$cacheData[$cacheKey] ?? $defaultValue;
|
|
}
|
|
|
|
/**
|
|
* Remove a cached value
|
|
*
|
|
* @param string $cacheKey The key to use to remove the value
|
|
*/
|
|
public static function remove(string $cacheKey): void
|
|
{
|
|
unset(self::$cacheData[$cacheKey]);
|
|
}
|
|
|
|
/**
|
|
* Purge all cached values
|
|
*/
|
|
public static function purge(): void
|
|
{
|
|
self::$cacheData = [];
|
|
}
|
|
}
|