Ejemplo n.º 1
0
 /**
  * @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;
 }
Ejemplo n.º 3
0
 /**
  * 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']);
 }