当前位置: 首页>>代码示例>>PHP>>正文


PHP Twig_Compiler::compile方法代码示例

本文整理汇总了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()));
 }
开发者ID:JoseGMaestre,项目名称:Cupon_check,代码行数:11,代码来源:FormThemeTest.php

示例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()));
 }
开发者ID:symfony,项目名称:symfony,代码行数:11,代码来源:FormThemeTest.php

示例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()));
 }
开发者ID:rollerworks,项目名称:datagrid-twig,代码行数:11,代码来源:DatagridThemeTest.php

示例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()));
 }
开发者ID:Maksold,项目名称:platform,代码行数:8,代码来源:BlockThemeNodeTest.php

示例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()));
 }
开发者ID:Dren-x,项目名称:mobit,代码行数:9,代码来源:TransNodeTest.php

示例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()));
 }
开发者ID:arthens,项目名称:safe-translations,代码行数:9,代码来源:SafeTransNodeTest.php

示例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()));
    }
开发者ID:symfony-bundle,项目名称:bootstrap-bundle,代码行数:14,代码来源:HighlightNodeTest.php

示例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());
    }
开发者ID:vadim2404,项目名称:symfony,代码行数:19,代码来源:DumpNodeTest.php

示例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()));
 }
开发者ID:rolfmadsen,项目名称:dummy_alma,代码行数:10,代码来源:SearchAndRenderBlockNodeTest.php

示例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()));
 }
开发者ID:rollerworks,项目名称:datagrid-twig,代码行数:9,代码来源:SearchAndRenderBlockNodeTest.php


注:本文中的Twig_Compiler::compile方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。