/** * @used-by _destruct() * @return void */ private function cacheSave() { if ($this->isCacheEnabled()) { $this->cacheSaveBefore(); $this->cacheSaveArea($this->cachedAllGlobal(), $this->cacheKeyGlobal()); /** * При вызове метода @uses Df_Core_Model::getCacheKeyPerStore() * может произойти исключительная ситуация в том случае, * когда текущий магазин системы ещё не инициализирован * (вызов Mage::app()->getStore() приводит к исключительной ситуации), * поэтому вызываем @uses Df_Core_Model::getCacheKeyPerStore() * только если в этом методе есть реальная потребность, * т.е. если класс действительно имеет свойства, подлежащие кэшированию в разрезе магазина, * и если текущий магазин уже инициализирован. */ if ($this->cachedAllPerStore() && \Df\Core\State::s()->storeInitialized()) { $this->cacheSaveArea($this->cachedAllPerStore(), $this->cacheKeyPerStore()); } } }
/** * @return \Df\Core\State */ function df_state() { static $r; return $r ? $r : ($r = \Df\Core\State::s()); }