Example #1
0
 /**
  * Returns the content from the cache.
  *
  * @param string|null $key
  * @return bool
  */
 protected function getCacheContent($key = null)
 {
     if (!$this->cache instanceof CacheInterface) {
         return false;
     }
     if (isset($key) && ($result = $this->cache->get($key)) !== false) {
         if (is_array($result) && isset($result['placeholders'], $result['result'])) {
             $this->addMultiPlaceholders($result['placeholders']);
             $result = $result['result'];
         }
         return $result;
     }
     return false;
 }
Example #2
0
 /**
  * Returns list prepared rules.
  * @return array
  */
 public function getRawRules()
 {
     if (!empty($this->rawRules)) {
         return $this->rawRules;
     }
     if ($this->enableCache && isset($this->cache)) {
         if (($data = $this->cache->get(static::className())) !== false) {
             list($rawRules, $aliases) = $data;
             Alias::setAliases($this->prepareAliases($aliases), false);
             $rawRules = $this->calculateCacheRules($rawRules, $this->rules);
             return $this->rawRules = $rawRules;
         }
     }
     $rawRules = $aliases = [];
     $this->normalizeRules($rawRules, $aliases, $this->rules);
     if ($this->enableCache && isset($this->cache)) {
         $this->cache->set(static::className(), [$this->normalizeCacheRules($rawRules), $aliases]);
     }
     return $this->rawRules = $rawRules;
 }