The flexible, fast, and secure
template engine for PHP

a Symfony Product
You are reading the documentation for Twig 1.x. Switch to the documentation for Twig 2.x.

Table of Contents

Questions & Feedback


Twig documentation is licensed under the new BSD license.


New in version 1.11: The template_from_string function was added in Twig 1.11.

New in version 1.39: The name argument was added in Twig 1.39.

The template_from_string function loads a template from a string:

{{ include(template_from_string("Hello {{ name }}")) }}
{{ include(template_from_string(page.template)) }}

To ease debugging, you can also give the template a name that will be part of any related error message:

{{ include(template_from_string(page.template, "template for page " ~ }}


The template_from_string function is not available by default. You must add the \Twig\Extension\StringLoaderExtension extension explicitly when creating your Twig environment:

$twig = new \Twig\Environment(...);
$twig->addExtension(new \Twig\Extension\StringLoaderExtension());


Even if you will probably always use the template_from_string function with the include function, you can use it with any tag or function that takes a template as an argument (like the embed or extends tags).


  • template: The template
  • name: A name for the template
Website powered by Symfony and Twig, deployed on
The Twig logo is © 2010-2019 Symfony