public function Twig_Node_Sandbox::compile in Zircon Profile 8
Same name and namespace in other branches
- 8.0 vendor/twig/twig/lib/Twig/Node/Sandbox.php \Twig_Node_Sandbox::compile()
Compiles the node to PHP.
Parameters
Twig_Compiler $compiler A Twig_Compiler instance:
Overrides Twig_Node::compile
File
- vendor/
twig/ twig/ lib/ Twig/ Node/ Sandbox.php, line 24
Class
- Twig_Node_Sandbox
- Represents a sandbox node.
Code
public function compile(Twig_Compiler $compiler) {
$compiler
->addDebugInfo($this)
->write("\$sandbox = \$this->env->getExtension('sandbox');\n")
->write("if (!\$alreadySandboxed = \$sandbox->isSandboxed()) {\n")
->indent()
->write("\$sandbox->enableSandbox();\n")
->outdent()
->write("}\n")
->subcompile($this
->getNode('body'))
->write("if (!\$alreadySandboxed) {\n")
->indent()
->write("\$sandbox->disableSandbox();\n")
->outdent()
->write("}\n");
}