Nuevo en Symfony 2.7: el profiler de Twig

En las aplicaciones Symfony, gracias a la barra de depuración web, la información útil para los programadores normalmente está a un click de distancia. Por eso en Symfony 2.7 hemos decidido mejorar esa barra incluyendo un nuevo panel con información sobre Twig.

En las versiones actuales de Symfony, puedes encontrar la información sobre las plantillas en el panel Timeline del profiler de Symfony:

Twig Basic Profiler

Lo malo de este panel es que no muestra información detallada. Además, no se muestran algunas plantillas especiales, como por ejemplo los fragmentos de plantillas.

Symfony 2.7 soluciona todos estos problemas gracias al nuevo profiler que incluyó Twig en su versión 1.18.0. Así que a partir de ahora verás un nuevo panel con información de Twig en la barra de depuración web:

Twig Debug Panel

Si pinchas en ese panel, se muestra con detalle la información registrada por el profiler de Twig. En primer lugar, puedes ver unas estadísticas de Twig para la página que se acaba de renderizar:

Twig Profiler Stats

Estos valores son los primeros que deberías mirar cuando las cosas no funcionan o tus plantillas son lentas. En segundo lugar, puedes ver el listado completo de plantillas usadas para renderizar la página que estás viendo:

Twig Profiler Templates

En esta ocasión la información que se muestra es completa, ya que incluye todos los fragmentos de plantilla y todas las plantillas de bundles que se han utilizado.

Por último, puedes ver todo el detalle de las funciones ejecutadas por Twig, lo que se llama el "call graph". Gracias a esta información, podrás descubrir los cuellos de botella del rendimiento fácilmente:

Twig Profiler Call Graph

El profiler de Twig está activado automáticamente en Symfony 2.7 cuando la aplicación se ejecuta con el modo debug a true. Si usas Twig fuera de Symfony, tienes que registrar la extensión profiler a mano antes de renderizar las plantillas:

$profile = new Twig_Profiler_Profile();
$twig->addExtension(new Twig_Extension_Profiler($profile));
 
// renderizar plantillas ...
 
$dumper = new Twig_Profiler_Dumper_Text();
echo $dumper->dump($profile);

Además del dumper básico que muestra el call graph en forma de texto (que es el que usa Symfony) también dispones de un dumper avanzado que genera la información lista para analizarla con el profiler de Blackfire.

Esta nueva funcionalidad ha sido desarrollada por Fabien Potencier y puedes ver los detalles en el pull request #13428 de Symfony.

Comentarios

Este artículo ya no permite añadir más comentarios.
¿Por qué? Los artículos cierran sus comentarios automáticamente unos meses después de su publicación para asegurar que estos sigan siendo relevantes.

Publicada el

15 de abril de 2015

Etiquetas

Proyectos Symfony destacados

La plataforma de eCommerce 100% Symfony que rivaliza con Magento y PrestaShop. Ver más

Síguenos en @symfony_es para acceder a las últimas noticias.