public function findTemplate($name) { $this->validateName($name); if (!isset($this->resolverCache[$name])) { $found = false; if (is_readable($name)) { $this->resolverCache[$name] = $name; $found = true; } else { $paths = twig_get_discovered_templates(); if (array_key_exists($name, $paths)) { $completeName = $paths[$name]; $found = $this->isTemplateReadable($name, $completeName); } else { global $theme; if (stripos($name, $theme, 0) == 0) { $name = str_replace($theme . '::', '', $name); $completeName = $paths[$name]; $found = $this->isTemplateReadable($name, $completeName); } } } if (!$found) { throw new Twig_Error_Loader(sprintf('Could not find a cache key for template "%s"', $name)); } } return $this->resolverCache[$name]; }
public function loadTemplate($name, $index = NULL) { if (substr_count($name, '::') == 1) { $paths = twig_get_discovered_templates(); // Very expensive call $name = $paths[$name]; } return parent::loadTemplate($name, $index); }
public function findTemplate($name) { $this->validateName($name); if (!isset($this->resolverCache[$name])) { $found = FALSE; if (is_readable($name)) { $this->resolverCache[$name] = $name; $found = TRUE; } else { $paths = twig_get_discovered_templates(); if (array_key_exists($name, $paths)) { $completeName = $paths[$name]; if (is_readable($completeName)) { $this->resolverCache[$name] = $completeName; $found = TRUE; } } } if (!$found) { throw new Twig_Error_Loader(sprintf('Could not find a cache key for template "%s"', $name)); } } return $this->resolverCache[$name]; }