/** * @param string $key * @return mixed|bool */ public function loadDataComplex($key) { /** @var mixed|bool $result */ $result = false; if ($this->isEnabled()) { /** @var string|bool $serialized */ $serialized = $this->loadData($key); if (false !== $serialized) { $result = df_unserialize($serialized); } } return $result; }
/** * @param string $propertyName * @param string $cacheKey * @return void */ private function cacheLoadProperty($propertyName, $cacheKey) { $cacheKey = $cacheKey . $propertyName; /** @var string|bool $propertyValueSerialized */ $propertyValueSerialized = df_cache_load($cacheKey); if ($propertyValueSerialized) { /** @var mixed $propertyValue */ /** * Обратите внимание, * что @see json_decode() в случае невозможности деколирования возвращает NULL, * а @see unserialize в случае невозможности деколирования возвращает FALSE. */ $propertyValue = isset($this->_cachedPropertiesSimpleMap[$propertyName]) ? df_unserialize_simple($propertyValueSerialized) : df_ftn(df_unserialize($propertyValueSerialized)); if (!is_null($propertyValue)) { $this->_cachedPropertiesLoaded[$propertyName] = true; $this->{$propertyName} = $propertyValue; } } }