private function mergeSelf(UncacherTaggableDaoWorker $uncacher) { foreach ($uncacher->getClassNameMap() as $className => $uncaches) { if (!isset($this->classNameMap[$className])) { $this->classNameMap[$className] = $uncaches; } else { //merging idkeys $this->classNameMap[$className][0] = ArrayUtils::mergeUnique($this->classNameMap[$className][0], $uncaches[0]); //merging tags $this->classNameMap[$className][1] = ArrayUtils::mergeUnique($this->classNameMap[$className][1], $uncaches[1]); } } return $this; }
/** * @return UncacherBase */ public function getUncacherById($id) { $className = $this->className; $idKey = $this->makeIdKey($id); try { $object = $this->dao->getById($id); $tags = self::$handler->getUncacheObjectTags($object, $className); } catch (ObjectNotFoundException $e) { $tags = []; } return UncacherTaggableDaoWorker::create($className, $idKey, $tags); }