Templates – the View layer
Each MVC framework offers the View layer, and Symfony2 is no different. In Symfony1, we were using plain PHP code. Symfony has introduced a new templating engine named Twig. The Symfony syntax is more elegant — it's shorter and designed to be cleaner than regular PHP code in templates.
Note
We can still use it now. However, it's not the recommended approach, as in most cases, you will not find examples of a working bundle code in pure PHP.
Let's take a look at the template code within our bundle, src/AppBundle/Resources/views/Default/index.html.twig
:
Hello {{ name }}!
Yes, this is it. As you can figure out, {{ name }}
outputs the variable name. It is an equivalent of <?php echo $name; ?>
. The code actually doesn't do much, and it is not a valid HTML code (it just outputs some text). Let's modify it a little:
{% extends '::base.html.twig' %} {% block body %} Hello {{ name }}! {% endblock body %}
Now try to fire http...