/** * @param string $identifier * @return \TYPO3\CMS\Fluid\Core\Parser\ParsedTemplateInterface */ public function get($identifier) { $identifier = $this->sanitizeIdentifier($identifier); if (!isset($this->syntaxTreeInstanceCache[$identifier])) { $this->templateCache->requireOnce($identifier); $templateClassName = 'FluidCache_' . $identifier; $this->syntaxTreeInstanceCache[$identifier] = new $templateClassName(); } return $this->syntaxTreeInstanceCache[$identifier]; }
/** * Load package namespaces from cache * * @return bool TRUE if package namespaces were loaded */ protected function loadPackageNamespacesFromCache() { $cacheEntryIdentifier = $this->getCacheEntryIdentifier(); if ($cacheEntryIdentifier === NULL) { return FALSE; } $packageData = $this->coreCache->requireOnce($cacheEntryIdentifier); if ($packageData !== FALSE) { list($packageNamespaces, $packageClassesPaths) = $packageData; if (is_array($packageNamespaces) && is_array($packageClassesPaths)) { $this->packageNamespaces = $packageNamespaces; $this->packageClassesPaths = $packageClassesPaths; return TRUE; } } return FALSE; }
/** * Attempts to load the package manager states from cache * * @throws Exception\PackageManagerCacheUnavailableException */ protected function loadPackageManagerStatesFromCache() { $cacheEntryIdentifier = $this->getCacheEntryIdentifier(); if ($cacheEntryIdentifier === null || !$this->coreCache->has($cacheEntryIdentifier) || !($packageCache = $this->coreCache->requireOnce($cacheEntryIdentifier))) { throw new Exception\PackageManagerCacheUnavailableException('The package state cache could not be loaded.', 1393883342); } $this->packageStatesConfiguration = $packageCache['packageStatesConfiguration']; $this->packageAliasMap = $packageCache['packageAliasMap']; $this->composerNameToPackageKeyMap = $packageCache['composerNameToPackageKeyMap']; $GLOBALS['TYPO3_LOADED_EXT'] = $packageCache['loadedExtArray']; $GLOBALS['TYPO3_currentPackageManager'] = $this; // Strip off PHP Tags from Php Cache Frontend $packageObjects = substr(substr($this->coreCache->get($packageCache['packageObjectsCacheEntryIdentifier']), 6), 0, -2); $this->packages = unserialize($packageObjects); foreach ($packageCache['activePackageKeys'] as $activePackageKey) { $this->activePackages[$activePackageKey] = $this->packages[$activePackageKey]; } unset($GLOBALS['TYPO3_currentPackageManager']); }