[ Index ]

PHP Cross Reference of phpBB-3.2.11-deutsch

title

Body

[close]

/vendor/symfony/twig-bridge/Node/ -> RenderBlockNode.php (source)

   1  <?php
   2  
   3  /*
   4   * This file is part of the Symfony package.
   5   *
   6   * (c) Fabien Potencier <fabien@symfony.com>
   7   *
   8   * For the full copyright and license information, please view the LICENSE
   9   * file that was distributed with this source code.
  10   */
  11  
  12  namespace Symfony\Bridge\Twig\Node;
  13  
  14  use Twig\Compiler;
  15  use Twig\Node\Expression\FunctionExpression;
  16  
  17  /**
  18   * Compiles a call to {@link \Symfony\Component\Form\FormRendererInterface::renderBlock()}.
  19   *
  20   * The function name is used as block name. For example, if the function name
  21   * is "foo", the block "foo" will be rendered.
  22   *
  23   * @author Bernhard Schussek <bschussek@gmail.com>
  24   */
  25  class RenderBlockNode extends FunctionExpression
  26  {
  27      public function compile(Compiler $compiler)
  28      {
  29          $compiler->addDebugInfo($this);
  30          $arguments = iterator_to_array($this->getNode('arguments'));
  31          $compiler->write('$this->env->getExtension(\'Symfony\Bridge\Twig\Extension\FormExtension\')->renderer->renderBlock(');
  32  
  33          if (isset($arguments[0])) {
  34              $compiler->subcompile($arguments[0]);
  35              $compiler->raw(', \''.$this->getAttribute('name').'\'');
  36  
  37              if (isset($arguments[1])) {
  38                  $compiler->raw(', ');
  39                  $compiler->subcompile($arguments[1]);
  40              }
  41          }
  42  
  43          $compiler->raw(')');
  44      }
  45  }


Generated: Wed Nov 11 20:33:01 2020 Cross-referenced by PHPXref 0.7.1