/** * @return ConfigInterface */ public function create() { $files = $this->fs->files('', true, '#(' . $this->patternExt() . ')$#si'); $config = []; foreach ($files as $file) { $ext = $file['extension']; $contents = $this->fs->read($file['path']); if ($ext === 'php') { $data = (require "data://text/plain;base64," . base64_encode($contents)); } else { $data = $this->parsers[$ext]->decode($contents); } $config = array_merge($config, $data); } return new Config($config); }