phpmyadmin/libraries/classes/Cache.php
Kamil Tekiela 0bdcaba2d2
Add native property types (#18143)
* 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>
2023-02-26 23:30:41 -03:00

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 = [];
}
}