Más con Symfony

7.2. Los tres tipos de paneles de depuración web

Internamente existen tres tipos diferentes de paneles de depuración web.

7.2.1. El tipo sólo icono

El tipo más básico de panel es aquel que solamente muestra un icono y un texto en la barra. El ejemplo clásico es el del panel memory, que muestra la cantidad de memoria utilizada para generar la página y que no hace nada cuando se pincha sobre el. Para crear un panel de tipo sólo icono, simplemente haz que el método getPanelContent() devuelva una cadena vacía. La única información del panel la genera el método getTitle():

public function getTitle()
{
  $totalMemory = sprintf('%.1f', (memory_get_peak_usage(true) / 1024));

  return '<img src="'.$this->webDebug->getOption('image_root_path').'/memory.png" alt="Memory" /> '.$totalMemory.' KB';
}

public function getPanelContent()
{
  return;
}

7.2.2. El tipo enlace

Al igual que el panel sólo icono, un panel de tipo enlace consiste en un panel sin contenido. A diferencia del panel sólo icono, cuando se pincha sobre un panel de tipo enlace, el navegador carga la URL especificada por el método getTitleUrl() del panel. Para crear un panel de tipo enlace, haz que el método getPanelContent() devuelva una cadena vacía y añade en la clase un método llamado getTitleUrl().

public function getTitleUrl()
{
  // enlace a una URI externa
  return 'http://www.symfony-project.org/api/1_3/';

  // enlace a una ruta en tu aplicación
  return url_for('homepage');
}

public function getPanelContent()
{
  return;
}

7.2.3. El tipo contenido

Se trata del tipo más popular con mucha diferencia. Estos paneles tienen un contenido HTML que se muestra cuando se pincha sobre el nombre del panel en la barra de depuración web. Para crear este tipo de panel, simplemente haz que el método getPanelContent() no devuelva una cadena vacía.