Esempio n. 1
0
 /**
  * Возвращает список конфигурационных файлов в виде:
  * [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;
 }
    /**
     * {@inheritdoc}
     */
    public function save(IConfigSource $config)
    {
        $file = $this->getAliasFile($config->getAlias());
        $configContent = addcslashes(serialize($config), '\'');
        $content = <<<FILE
<?php
return unserialize('{$configContent}');
FILE;
        file_put_contents($file, $content);
        $this->saveSeparateConfig($config);
    }