You are here

function twig_template_from_string in Translation template extractor 6.3

Same name and namespace in other branches
  1. 7.3 vendor/Twig/Extension/StringLoader.php \twig_template_from_string()

Loads a template from a string.

<pre> {{ include(template_from_string("Hello {{ name }}")) }} </pre>

Parameters

Twig_Environment $env A Twig_Environment instance:

string $template A template as a string:

Return value

Twig_Template A Twig_Template instance

1 string reference to 'twig_template_from_string'
Twig_Extension_StringLoader::getFunctions in vendor/Twig/Extension/StringLoader.php
Returns a list of functions to add to the existing list.

File

vendor/Twig/Extension/StringLoader.php, line 44

Code

function twig_template_from_string(Twig_Environment $env, $template) {
  $name = sprintf('__string_template__%s', hash('sha256', uniqid(mt_rand(), true), false));
  $loader = new Twig_Loader_Chain(array(
    new Twig_Loader_Array(array(
      $name => $template,
    )),
    $current = $env
      ->getLoader(),
  ));
  $env
    ->setLoader($loader);
  try {
    $template = $env
      ->loadTemplate($name);
  } catch (Exception $e) {
    $env
      ->setLoader($current);
    throw $e;
  }
  $env
    ->setLoader($current);
  return $template;
}