コード例 #1
0
 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;
 }
コード例 #2
0
 /**
  * @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);
 }