/** * Основной метод, возвращающий экземпляры оболочек над группами кешей * @return PSCacheInst */ public static function inst($group, $sign = null) { $key = "G:{$group};S:{$sign}"; if (!array_key_exists($key, self::$insts)) { check_condition(in_array($group, PSCache::getCacheGroups()), "Неизвестная группа кеширования [{$group}]."); self::$insts[$key] = new PSCacheInst($group, $sign); } return self::$insts[$key]; }
protected function loadIdentsRight($mident, array $params, \MappingSource $srcLeft, $lident) { return PSCache::getCacheGroups(); }
/** * Распечатывает текущее состояние дерева зависимости в лог. * При этом в дереве отмечаются всегда только полностью проверенные сущности. * Если, например, группа зависит от таблиц БД, которые были провалидированы, но при этом * сама группа отмечена, как валидная, то мы увидим подобную картину: * +GALLERY: | Сущности базы: | ps_gallery | ps_gallery_images */ private function logTrees($caption, $doLog = true) { if (!$doLog || !$this->LOGGER->isEnabled()) { return; //--- } $this->LOGGER->infoBox($caption); $GROUPS = PSCache::getCacheGroups(); $hasPrintedGroups = false; foreach ($GROUPS as $group) { $isGroupPrinted = false; foreach ($this->TREE_DEP as $type => $groups2entitys) { if (!array_key_exists($group, $groups2entitys)) { continue; } $valGr = !$this->isGroupValidatable($group); $valType = !$valGr && !$this->isTypeValidateble($type); if ($hasPrintedGroups && !$isGroupPrinted) { $this->LOGGER->info(); } if (!$isGroupPrinted) { $isGroupPrinted = true; $hasPrintedGroups = true; $this->LOGGER->info("\t" . ($valGr ? '+' : '|') . $group . ':'); } else { $this->LOGGER->info("\t|"); } $this->LOGGER->info("\t" . ($valType ? '+' : '|') . "\t{$type}:"); foreach ($groups2entitys[$group] as $child) { $varChild = !$valGr && !$valType && !in_array($child, $this->getChildsForValidate($type, $group)); $this->LOGGER->info("\t" . ($varChild ? '+' : '|') . "\t\t{$child}"); } } } $this->LOGGER->info(pad_left('', ps_strlen($caption) + 4, '+')); $this->LOGGER->info(); }