Как правильно включить расширение песочницы ветки в Symfony2?

В Symfony2 по умолчанию отключен модуль Twig. Одним из них является расширение отладки, которое добавляет{% debug %} тег (полезен в среде разработки).

Чтобы включить его, ничего сложного, добавьте этот сервис в свою конфигурацию:

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

Но как включить{% sandbox %} тег?

Моя проблема в том, что расширениеКонструктор s принимает политики безопасности:

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

Читаяветка документацияЯ видел способ сделать это изначально (без 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);

Я могу сделать что-то подобное внутри службы непосредственно перед использованием песочницы, но этоне так ясно, как инъекция зависимости мыпривык.

Есть ли лучший / правильный способ включить веточку?s расширение песочницы в Symfony2?

Ответы на вопрос(1)

Ваш ответ на вопрос