vendor/roothirsch/core-bundle/FeatureFlag/FeaturesProvider.php line 18

Open in your IDE?
  1. <?php
  2. namespace Roothirsch\CoreBundle\FeatureFlag;
  3. use Flagception\Manager\FeatureManagerInterface;
  4. use Roothirsch\CoreBundle\FeatureFlag\Entity\FeatureFlag;
  5. use Roothirsch\CoreBundle\FeatureFlag\Repository\FeatureFlagRepository;
  6. use Doctrine\ORM\EntityManagerInterface;
  7. use Flagception\Activator\FeatureActivatorInterface;
  8. use Flagception\Model\Context;
  9. use Symfony\Component\HttpKernel\KernelInterface;
  10. use Symfony\Component\Yaml\Yaml;
  11. class FeaturesProvider
  12. {
  13. static $features = [];
  14. public function __construct(FeatureManagerInterface $featureManager, KernelInterface $kernel)
  15. {
  16. if (empty(self::$features)) {
  17. $yamlFilePath = $kernel->getProjectDir() . '/config/packages/flagception.yaml';
  18. $flagceptionConfig = Yaml::parseFile($yamlFilePath);
  19. foreach($flagceptionConfig['flagception']['features'] as $featureName => $feature) {
  20. self::$features[$featureName] = $featureManager->isActive($featureName);
  21. }
  22. }
  23. }
  24. public function getAll(){
  25. return self::$features;
  26. }
  27. }