27 lines
523 B
PHP
27 lines
523 B
PHP
|
<?php
|
||
|
|
||
|
namespace App\Flag;
|
||
|
|
||
|
use Psr\Cache\CacheItemPoolInterface;
|
||
|
|
||
|
class FlagAccessor
|
||
|
{
|
||
|
public const FLAG_VALUE = 'flagValue';
|
||
|
|
||
|
public function __construct(
|
||
|
private readonly CacheItemPoolInterface $cache
|
||
|
) {
|
||
|
}
|
||
|
|
||
|
public function isFlagEnabled(FlagEnum $flagName, bool $fallbackValue = false): bool
|
||
|
{
|
||
|
$flagValue = $this->cache->getItem($flagName->value)->get();
|
||
|
|
||
|
if (null === $flagValue) {
|
||
|
return $fallbackValue;
|
||
|
}
|
||
|
|
||
|
return (bool) $flagValue;
|
||
|
}
|
||
|
}
|