1,019 captures
12 Aug 2017 - 10 Mar 2026
Jul AUG Sep
16
2019 2020 2021
success
fail

About this capture

COLLECTED BY

Organization: Internet Archive

The Internet Archive discovers and captures web pages through many different web crawls. At any given time several distinct crawls are running, some for months, and some every day or longer. View the web archive through the Wayback Machine.

Collection: survey_00010

TIMESTAMPS

The Wayback Machine - http://web.archive.org/web/20200816204400/https://twig.symfony.com/
 



About  

Docs  

Dev  


Twig

Twig  

The flexible, fast, and secure
template engine for PHP  



a Symfony Product





Twig is a modern template engine for PHP



Fast: Twig compiles templates down to plain optimized PHP code.  The overhead compared to regular PHP code was reduced to the very minimum.  

Secure: Twig has a sandbox mode to evaluate untrusted template code.  This allows Twig to be used as a template language for applications where  users may modify the template design.  

Flexible: Twig is powered by a flexible lexer and parser.  This allows the developer to define its own custom tags and filters, and create its own DSL.  





Learn moreLearn more
CertificationCertification
Install nowInstall now  




Why yet another template engine?


When it comes to template engines in PHP, many people will tell you that  PHP itself is a template engine. But even if PHP started its life as a  template language, it did not evolve like one in the recent years. As a  matter of fact, it doesn't support many features modern template  engines should have nowadays:  



Concise: The PHP language is verbose and becomes ridiculously verbose  when it comes to output escaping:

<?php echo $var ?>
<?php echo htmlspecialchars($var, ENT_QUOTES, 'UTF-8') ?>



In comparison, Twig has a very concise syntax, which make templates more readable:

{{ var }}
{{ var|escape }}
{{ var|e }}         {# shortcut to escape a variable #}


 


Template oriented syntax: Twig has shortcuts for common patterns, like having  a default text displayed when you iterate over an empty array:

{% for user in users %}
    * {{ user.name }}
{% else %}
    No users have been found.
{% endfor %}


 


Full Featured: Twig supports everything you need to build powerful templates  with ease: multiple inheritance, blocks, automatic output-escaping, and much more:

{% extends "layout.html" %}

{% block content %}
    Content of the page...
{% endblock %}


 


Easy to learn: The syntax is easy to learn and has been optimized to  allow web designers to get their job done fast without getting in their way.
 


Of course, PHP is also the language for which you can find the more  template engine projects. But most of them do not embrace web development best practices yet:  



Extensibility: Twig is flexible enough for all your needs, even the most  complex ones. Thanks to an open architecture, you can implement your own language constructs (tags, filters, functions, and even operators)  to create your very own DSL.
 


Unit tested: Twig is fully unit-tested. The library is  stable and ready to be used in large projects.
 


Documented: Twig is fully documented, with a dedicated online  book, and of course a full API documentation.
 


Secure: When it comes to security, Twig has some unique features:


Automatic output escaping: To be on the safe side, you can enable  automatic output escaping globally or for a block of code:

{% autoescape "html" %}
    {{ var }}
    {{ var|raw }}     {# var won't be escaped #}
    {{ var|escape }}  {# var won't be doubled-escaped #}
{% endautoescape %}


 

Sandboxing: Twig can evaluate any template in a sandbox environment  where the user has access to a limited set of tags, filters, and object methods defined  by the developer. Sandboxing can  be enabled globally or locally for just some templates:

{{ include('page.html', sandboxed = true) }}


 




Clean Error Messages: Whenever you have a syntax problem within a template,  Twig outputs a helpful message with the filename and the line number where the problem occurred.  It eases the debugging a lot.
 


Fast: One of the goals of Twig is to be as fast as possible.  To achieve the best speed possible, Twig compiles templates down to plain optimized PHP code.  The overhead compared to regular PHP code was reduced to the very minimum.
 

Who is behind Twig?


Twig is brought to you by Fabien  Potencier, the creator of the Symfony framework. Twig is  released under the new BSD license.  





Website powered by Symfony and Twig, deployed on  The Twig logo is © 2010-2020 Symfony