¿Cómo habilitar correctamente la extensión de la caja de arena de la ramita en Symfony2?

En Symfony2, hay algunos módulos Twig deshabilitados por defecto. Uno de ellos es la extensión de depuración, que añade.{% debug %} etiqueta (útil en un entorno de desarrollo).

Para habilitarlo, nada realmente difícil, agregue este servicio a su configuración:

  debug.twig.extension:
    class: Twig_Extensions_Extension_Debug
    tags:
      - { name: 'twig.extension' }

Pero, ¿cómo habilitar el{% sandbox %} ¿etiqueta?

Mi problema es que el constructor de la extensión toma políticas de seguridad:

public function __construct(Twig_Sandbox_SecurityPolicyInterface $policy, $sandboxed = false)
{
    $this->policy            = $policy;
    $this->sandboxedGlobally = $sandboxed;
}

Leyendo eldocumentación de la ramita, He visto la forma de hacerlo de forma nativa (sin Symfony2):

$tags = array('if');
$filters = array('upper');
$methods = array(
    'Article' => array('getTitle', 'getBody'),
);
$properties = array(
    'Article' => array('title', 'body'),
);
$functions = array('range');
$policy = new Twig_Sandbox_SecurityPolicy($tags, $filters, $methods, $properties, $functions);
$sandbox = new Twig_Extension_Sandbox($policy);
$twig->addExtension($sandbox);

Puedo hacer algo así dentro de un servicio justo antes de usar la caja de arena, pero eso no es tan claro como la inyección de dependencia a la que estamos acostumbrados.

¿Hay alguna forma mejor / adecuada de habilitar la extensión del recinto de seguridad de la ramita en Symfony2?

Respuestas a la pregunta(1)

Su respuesta a la pregunta