本文整理汇总了PHP中Twig_Compiler::compile方法的典型用法代码示例。如果您正苦于以下问题:PHP Twig_Compiler::compile方法的具体用法?PHP Twig_Compiler::compile怎么用?PHP Twig_Compiler::compile使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Twig_Compiler
的用法示例。
在下文中一共展示了Twig_Compiler::compile方法的10个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testCompile
public function testCompile()
{
$form = new \Twig_Node_Expression_Name('form', 0);
$resources = new \Twig_Node_Expression_Array(array(new \Twig_Node_Expression_Constant(0, 0), new \Twig_Node_Expression_Constant('tpl1', 0), new \Twig_Node_Expression_Constant(1, 0), new \Twig_Node_Expression_Constant('tpl2', 0)), 0);
$node = new FormThemeNode($form, $resources, 0);
$compiler = new \Twig_Compiler(new \Twig_Environment());
$this->assertEquals(sprintf('$this->env->getExtension(\'form\')->renderer->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));', $this->getVariableGetter('form')), trim($compiler->compile($node)->getSource()));
$resources = new \Twig_Node_Expression_Constant('tpl1', 0);
$node = new FormThemeNode($form, $resources, 0);
$this->assertEquals(sprintf('$this->env->getExtension(\'form\')->renderer->setTheme(%s, "tpl1");', $this->getVariableGetter('form')), trim($compiler->compile($node)->getSource()));
}
示例2: testCompile
public function testCompile()
{
$form = new \Twig_Node_Expression_Name('form', 0);
$resources = new \Twig_Node_Expression_Array(array(new \Twig_Node_Expression_Constant(0, 0), new \Twig_Node_Expression_Constant('tpl1', 0), new \Twig_Node_Expression_Constant(1, 0), new \Twig_Node_Expression_Constant('tpl2', 0)), 0);
$node = new FormThemeNode($form, $resources, 0);
$compiler = new \Twig_Compiler(new \Twig_Environment($this->getMockBuilder('Twig_LoaderInterface')->getMock()));
$this->assertEquals(sprintf('$this->env->getRuntime(\'Symfony\\Bridge\\Twig\\Form\\TwigRenderer\')->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));', $this->getVariableGetter('form')), trim($compiler->compile($node)->getSource()));
$resources = new \Twig_Node_Expression_Constant('tpl1', 0);
$node = new FormThemeNode($form, $resources, 0);
$this->assertEquals(sprintf('$this->env->getRuntime(\'Symfony\\Bridge\\Twig\\Form\\TwigRenderer\')->setTheme(%s, "tpl1");', $this->getVariableGetter('form')), trim($compiler->compile($node)->getSource()));
}
示例3: testCompile
public function testCompile()
{
$datagrid = new \Twig_Node_Expression_Name('view', 0);
$resources = new \Twig_Node_Expression_Array([new \Twig_Node_Expression_Constant(0, 0), new \Twig_Node_Expression_Constant('tpl1', 0), new \Twig_Node_Expression_Constant(1, 0), new \Twig_Node_Expression_Constant('tpl2', 0)], 0);
$node = new DatagridThemeNode($datagrid, $resources, 0);
$compiler = new \Twig_Compiler(new \Twig_Environment($this->createMock('Twig_LoaderInterface')));
self::assertEquals(sprintf('$this->env->getRuntime(\'' . TwigRenderer::class . '\')->setTheme(%s, array(0 => "tpl1", 1 => "tpl2"));', $this->getVariableGetter('view')), trim($compiler->compile($node)->getSource()));
$resources = new \Twig_Node_Expression_Constant('tpl1', 0);
$node = new DatagridThemeNode($datagrid, $resources, 0);
self::assertEquals(sprintf('$this->env->getRuntime(\'' . TwigRenderer::class . '\')->setTheme(%s, "tpl1");', $this->getVariableGetter('view')), trim($compiler->compile($node)->getSource()));
}
示例4: testCompile
public function testCompile()
{
$block = new \Twig_Node([new \Twig_Node_Expression_Name('layout', 0)]);
$resources = new \Twig_Node([new \Twig_Node_Expression_Constant('SomeBundle:Layout:blocks.html.twig', 0)]);
$node = new BlockThemeNode($block, $resources, 0);
$compiler = new \Twig_Compiler(new \Twig_Environment());
$this->assertEquals(sprintf(self::SET_THEME_CALL . '(%s, "SomeBundle:Layout:blocks.html.twig");', $this->getVariableGetter('layout')), trim($compiler->compile($node)->getSource()));
}
示例5: testCompileStrict
public function testCompileStrict()
{
$body = new \Twig_Node_Text('trans %var%', 0);
$vars = new \Twig_Node_Expression_Name('foo', 0);
$node = new TransNode($body, null, null, $vars);
$env = new \Twig_Environment($this->getMock('Twig_LoaderInterface'), array('strict_variables' => true));
$compiler = new \Twig_Compiler($env);
$this->assertEquals(sprintf('echo $this->env->getExtension(\'translator\')->getTranslator()->trans("trans %%var%%", array_merge(array("%%var%%" => %s), %s), "messages");', $this->getVariableGetterWithoutStrictCheck('var'), $this->getVariableGetterWithStrictCheck('foo')), trim($compiler->compile($node)->getSource()));
}
示例6: testCompileStrict
public function testCompileStrict()
{
$body = new \Twig_Node_Text('Hello %name%', 0);
$vars = new \Twig_Node_Expression_Name('foo', 0);
$node = new SafeTransNode($body, null, null, $vars);
$env = new \Twig_Environment(null, array('strict_variables' => true));
$compiler = new \Twig_Compiler($env);
$this->assertEquals(sprintf('echo $this->env->getExtension(\'translator\')->getTranslator()->trans("Hello %%name%%", array_merge(array("%%name%%" => twig_escape_filter($this->env, %s)), %s), "messages");', $this->getVariableGetter('name'), $this->getVariableGetter('foo')), trim($compiler->compile($node)->getSource()));
}
示例7: testCompile
public function testCompile()
{
$body = new \Twig_Node_Text('<html><head></head><body class="body"></body></html>', 0);
$node = new HighlightNode($body, null, null, 'html');
$env = new \Twig_Environment(null, array('strict_variables' => true));
$compiler = new \Twig_Compiler($env);
$expected = <<<TEXT
echo '<div class="zero-clipboard"><span class="btn-clipboard btn-clipboard-hover">Copy</span></div>';
\$result = \\PHPygments\\PHPygments::render("". "<html><head></head><body class=\\"body\\"></body></html>"
, 'html');
echo preg_replace('#^<div class="highlighted-source default (.*)"><pre>(.*)</pre></div>\$#s', '<div class="highlight"><pre><code class="\$1">\$2</code></pre></div>', \$result["code"]);
TEXT;
$this->assertEquals($expected, trim($compiler->compile($node)->getSource()));
}
示例8: testMultiVars
public function testMultiVars()
{
$vars = new \Twig_Node(array(new \Twig_Node_Expression_Name('foo', 7), new \Twig_Node_Expression_Name('bar', 7)));
$node = new DumpNode('bar', $vars, 7);
$env = new \Twig_Environment();
$compiler = new \Twig_Compiler($env);
$expected = <<<'EOTXT'
if ($this->env->isDebug()) {
// line 7
\Symfony\Component\VarDumper\VarDumper::dump(array(
"foo" => %foo%,
"bar" => %bar%,
));
}
EOTXT;
$expected = preg_replace('/%(.*?)%/', '(isset($context["$1"]) ? $context["$1"] : null)', $expected);
$this->assertSame($expected, $compiler->compile($node)->getSource());
}
示例9: testCompileLabelWithLabelThatEvaluatesToNullAndAttributes
public function testCompileLabelWithLabelThatEvaluatesToNullAndAttributes()
{
$arguments = new \Twig_Node(array(new \Twig_Node_Expression_Name('form', 0), new \Twig_Node_Expression_Conditional(new \Twig_Node_Expression_Constant(true, 0), new \Twig_Node_Expression_Constant(null, 0), new \Twig_Node_Expression_Constant(null, 0), 0), new \Twig_Node_Expression_Array(array(new \Twig_Node_Expression_Constant('foo', 0), new \Twig_Node_Expression_Constant('bar', 0), new \Twig_Node_Expression_Constant('label', 0), new \Twig_Node_Expression_Constant('value in attributes', 0)), 0)));
$node = new SearchAndRenderBlockNode('form_label', $arguments, 0);
$compiler = new \Twig_Compiler(new \Twig_Environment());
// "label" => null must not be included in the output!
// Otherwise the default label is overwritten with null.
// https://github.com/symfony/symfony/issues/5029
$this->assertEquals(sprintf('$this->env->getExtension(\'form\')->renderer->searchAndRenderBlock(%s, \'label\', array("foo" => "bar", "label" => "value in attributes") + (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? array() : array("label" => $_label_)))', $this->getVariableGetter('form')), trim($compiler->compile($node)->getSource()));
}
示例10: testCompileHeaderWithLabelThatEvaluatesToNullAndAttributes
public function testCompileHeaderWithLabelThatEvaluatesToNullAndAttributes()
{
$arguments = new \Twig_Node([new \Twig_Node_Expression_Name('header', 0), new \Twig_Node_Expression_Conditional(new \Twig_Node_Expression_Constant(true, 0), new \Twig_Node_Expression_Constant(null, 0), new \Twig_Node_Expression_Constant(null, 0), 0), new \Twig_Node_Expression_Array([new \Twig_Node_Expression_Constant('foo', 0), new \Twig_Node_Expression_Constant('bar', 0), new \Twig_Node_Expression_Constant('label', 0), new \Twig_Node_Expression_Constant('value in attributes', 0)], 0)]);
$node = new SearchAndRenderBlockNode('rollerworks_datagrid_column_header', $arguments, 0);
$compiler = new \Twig_Compiler(new \Twig_Environment($this->createMock('Twig_LoaderInterface')));
// "label" => null must not be included in the output!
// Otherwise the default label is overwritten with null.
self::assertEquals(sprintf('$this->env->getRuntime(\'' . TwigRenderer::class . '\')->searchAndRenderBlock(%s, \'header\', array("foo" => "bar", "label" => "value in attributes") + (twig_test_empty($_label_ = ((true) ? (null) : (null))) ? [] : ["label" => $_label_]))', $this->getVariableGetter('header')), trim($compiler->compile($node)->getSource()));
}