/** * Возвращает список конфигурационных файлов в виде: * [alias => source, ...]. * @param IConfigSource $config конфигурация * @return array */ protected function getLocalConfigArrays(IConfigSource $config) { $src = $config->getSource(); $result = [$config->getAlias() => $this->convertToArray($src)]; array_walk_recursive($src, function ($value) use(&$result) { if ($value instanceof IConfigSource) { $result[$value->getAlias()] = $this->convertToArray($value->getSource()); } }); return $result; }
/** * Кэширует конфигурации в отдельных файлах (Separate configs). * @param IConfigSource $config */ protected function saveSeparateConfig(IConfigSource $config) { $source = $config->getSource(); array_walk_recursive($source, function ($value) { if ($value instanceof ISeparateConfigSource) { $this->save($value->getSeparateConfig()); } }); }