public static function &getAll() { Config::$all = true; Once::exec('Infrajs::Config::getAll', function () { Config::init(); @header('Infrajs-Config-All: true'); /** * Для того чтобы в текущем сайте можно было разрабатывать расширения со своим конфигом, * нужно добавить путь до родительской папки с расширениями в path.config.search * Папки data может конфликтовать так как она содержит общий конфиг, * А если родительская папка защитается за папку с расширениями папка .infra.json в data буде лишним **/ $files = scandir('.'); foreach ($files as $file) { if ($file[0] == '.') { continue; } if (!is_dir($file)) { continue; } if (in_array($file . '/', array(Path::$conf['cache'], Path::$conf['data']))) { continue; } Config::load($file . '/.infra.json', $file); } $path =& Path::$conf; for ($i = 0; $i < sizeof($path['search']); $i++) { $tsrc = $path['search'][$i]; if (!is_dir($tsrc)) { continue; } $files = scandir($tsrc); foreach ($files as $file) { if ($file[0] == '.') { continue; } if (!is_dir($tsrc . $file)) { continue; } Config::load($tsrc . $file . '/.infra.json', $file); } } }); return Config::$conf; }