for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
/*
* This file is a part of Sculpin.
*
* (c) Dragonfly Development Inc.
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Symplify\PHP7_Sculpin\Configuration;
use Dflydev\DotAccessConfiguration\AbstractConfigurationBuilder;
use Dflydev\DotAccessConfiguration\ConfigurationInterface;
use Dflydev\DotAccessData\Util as DotAccessDataUtil;
use Symfony\Component\Yaml\Yaml;
final class YamlFileConfigurationBuilder extends AbstractConfigurationBuilder
{
/**
* @var string[]
private $yamlConfigurationFilenames;
public function __construct(array $yamlConfigurationFilenames)
$this->yamlConfigurationFilenames = $yamlConfigurationFilenames;
}
* {@inheritdoc}.
public function internalBuild(ConfigurationInterface $configuration)
$config = [];
foreach ($this->yamlConfigurationFilenames as $yamlConfigurationFilename) {
if (file_exists($yamlConfigurationFilename)) {
$config = DotAccessDataUtil::mergeAssocArray(
$config, Yaml::parse(file_get_contents($yamlConfigurationFilename))
);
$configuration->importRaw($config);
return $configuration;