Ejemplo n.º 1
0
 /**
  * Подписью кеша служит кол-во ячеек, принадлежащих пользователям.
  */
 private function getCachable($key)
 {
     $sign = $this->getOwnedCellsCnt();
     $DATA = PSCacheGroups::MOSAIC()->getFromCache($this->id, PsUtil::getClassConsts(__CLASS__, 'CACHABLE_'), $sign);
     if (!is_array($DATA)) {
         $DATA = array();
         $ownedCells = $this->BEAN->getOwnedCells($this->id);
         $sign = count($ownedCells);
         //Честно посчитаем подпись по кол-ву ячеек, с которым была построена карта
         $DATA[self::CACHABLE_AREAS] = MosaicImageCellsCompositor::area($ownedCells, $this->cellWidth, $this->cellHeight);
         $DATA[self::CACHABLE_STATISTIC] = $this->BEAN->getStatictic($this->id);
         PSCacheGroups::MOSAIC()->saveToCache($DATA, $this->id, $sign);
     }
     return array_get_value($key, $DATA);
 }