Documentação do Symfony2
Renderizada do repositório symfony-docs-pt-BR no Github

Como renderizar um template sem um Controlador personalizado

Normalmente, quando você precisa criar uma página, você cria um controlador e renderiza um template a partir deste controlador. Mas se você estiver renderizando um template simples que não precisa de quaisquer dados passados ​​para ele, pode-se evitar totalmente a criação do controlador, usando o controlador incorporado FrameworkBundle:Template:template .

Por exemplo, suponha que você queira renderizar um template static/privacy.html.twig, que não requer que quaisquer variáveis ​​sejam passadas ​​a ele. Você pode fazer isso sem criar um controlador:

O controlador FrameworkBundle:Template:template irá simplesmente renderizar qualquer template que você passar como o valor padrão template.

Naturalmente, você também pode usar esse truque ao renderizar controladores embutidos a partir de um template. Mas, uma vez que a finalidade de renderizar um controlador a partir de um template é tipicamente para preparar alguns dados num controlador personalizado, isso provavelmente só é útil se você gostaria de armazenar em cache esta página parcial (veja Armazenar em cache o Template estático).

Armazenar em cache o Template estático

Uma vez que os templates renderizados dessa forma são tipicamente estáticos, pode fazer sentido armazená-los em cache. Felizmente, isso é fácil! Configurando algumas outras variáveis ​​em sua rota, você pode controlar exatamente como a página é armazenada em cache:

Os valores maxAge e sharedAge são usados ​​para modificar o objeto Response criado no controlador. Para mais informações sobre cache, consulte HTTP Cache.

Há também uma variável private (não mostrada aqui). Por padrão, o Response será tornado público enquanto maxAge ou sharedAge são passados. Se definida como true, o Response será marcado como privado.