Ver índice de contenidos del libro

7.6. Variables globales

Symfony2 crea y configura para cada petición una variable global llamada app qe está disponible tanto en Twig como en las plantillas PHP. Esta variable app es una instancia de la clase Symfony\\Bundle\\FrameworkBundle\\Templating\\GlobalVariables y proporciona acceso directo a algunas variables muy útiles de la aplicación:

  • app.security - el contexto de seguridad.
  • app.user - el objeto qeu representa al usuario que está visitando la aplicación.
  • app.request - el objeto Request que contiene toda la información de la petición.
  • app.session - el objeto Session relacionado con el usuario.
  • app.environment - el entorno en el que se está ejecutando la aplicación (dev, prod, etc.)
  • app.debug - vale true si la aplicación se está ejecutando en el modo de depuración y false en otro caso.
<p>Username: {{ app.user.username }}</p>
{% if app.debug %}
    <p>Request method: {{ app.request.method }}</p>
    <p>Application Environment: {{ app.environment }}</p>
{% endif %}
<p>Username: <?php echo $app->getUser()->getUsername() ?></p>
<?php if ($app->getDebug()): ?>
    <p>Request method: <?php echo $app->getRequest()->getMethod() ?></p>
    <p>Application Environment: <?php echo $app->getEnvironment() ?></p>
<?php endif; ?>