Prado\Web\UI\WebControls\TOutputCache::determineCacheability PHP Метод

determineCacheability() приватный Метод

private determineCacheability ( )
    private function determineCacheability()
    {
        if (!$this->_cacheChecked) {
            $this->_cacheChecked = true;
            if ($this->_duration > 0 && ($this->_cachePostBack || !$this->getPage()->getIsPostBack())) {
                if ($this->_cacheModuleID !== '') {
                    $this->_cache = $this->getApplication()->getModule($this->_cacheModuleID);
                    if (!$this->_cache instanceof ICache) {
                        throw new TConfigurationException('outputcache_cachemoduleid_invalid', $this->_cacheModuleID);
                    }
                } else {
                    $this->_cache = $this->getApplication()->getCache();
                }
                if ($this->_cache !== null) {
                    $this->_cacheAvailable = true;
                    $data = $this->_cache->get($this->getCacheKey());
                    if (is_array($data)) {
                        $param = new TOutputCacheCheckDependencyEventParameter();
                        $param->setCacheTime(isset($data[3]) ? $data[3] : 0);
                        $this->onCheckDependency($param);
                        $this->_dataCached = $param->getIsValid();
                    } else {
                        $this->_dataCached = false;
                    }
                    if ($this->_dataCached) {
                        list($this->_contents, $this->_state, $this->_actions, $this->_cacheTime) = $data;
                    }
                }
            }
        }
    }