<?php
namespace Roothirsch\CoreBundle\FeatureFlag;
use Flagception\Manager\FeatureManagerInterface;
use Roothirsch\CoreBundle\FeatureFlag\Entity\FeatureFlag;
use Roothirsch\CoreBundle\FeatureFlag\Repository\FeatureFlagRepository;
use Doctrine\ORM\EntityManagerInterface;
use Flagception\Activator\FeatureActivatorInterface;
use Flagception\Model\Context;
use Symfony\Component\HttpKernel\KernelInterface;
use Symfony\Component\Yaml\Yaml;
class FeaturesProvider
{
static $features = [];
public function __construct(FeatureManagerInterface $featureManager, KernelInterface $kernel)
{
if (empty(self::$features)) {
$yamlFilePath = $kernel->getProjectDir() . '/config/packages/flagception.yaml';
$flagceptionConfig = Yaml::parseFile($yamlFilePath);
foreach($flagceptionConfig['flagception']['features'] as $featureName => $feature) {
self::$features[$featureName] = $featureManager->isActive($featureName);
}
}
}
public function getAll(){
return self::$features;
}
}