Ver índice de contenidos del libro

7.7. Configurando y usando el servicio templating

La parte más importante del sistema de plantillas en Symfony2 es el engine o motor de plantillas. Este objeto especial se encarga de renderizar las plantillas y devolver su contenido. Cuando renderizas por ejemplo una plantilla en un controlador, en realidad estás usando el motor del servicio de plantillas:

return $this->render('AcmeArticleBundle:Article:index.html.twig');

La instrucción anterior es equivalente a:

$engine = $this->container->get('templating');
$content = $engine->render('AcmeArticleBundle:Article:index.html.twig');
 
return $response = new Response($content);

El motor o servicio de plantillas está preconfigurado para funcionar dentro de una aplicación Symfony2. Todas sus opciones de configuración se pueden modificar directamente en el archivo config.yml de la aplicación:

# app/config/config.yml
framework:
    # ...
    templating: { engines: ['twig'] }
<!-- app/config/config.xml -->
<framework:templating>
    <framework:engine id="twig" />
</framework:templating>
// app/config/config.php
$container->loadFromExtension('framework', array(
    ...,
    'templating' => array(
        'engines' => array('twig'),
    ),
));

Nota El motor de plantillas twig es obligatorio si utilizas el profiler y la barra de depuración web de Symfony (así como muchos otros bundles desarrollados por terceros).