<?php /* * This file is part of Twig. * * (c) Fabien Potencier * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Twig; /** * Exposes a template to userland. * * @author Fabien Potencier <fabien@symfony.com> */ final class TemplateWrapper { private $env; private $template; /** * This method is for internal use only and should never be called * directly (use Twig\Environment::load() instead). * * @internal */ public function __construct(Environment $env, Template $template) { $this->env = $env; $this->template = $template; } /** * Renders the template. * * @param array $context An array of parameters to pass to the template * * @return string The rendered template */ public function render($context = []) { // using func_get_args() allows to not expose the blocks argument // as it should only be used by internal code return $this->template->render($context, \func_get_args()[1] ?? []); } /** * Displays the template. * * @param array $context An array of parameters to pass to the template */ public function display($context = []) { // using func_get_args() allows to not expose the blocks argument // as it should only be used by internal code $this->template->display($context, \func_get_args()[1] ?? []); } /** * Checks if a block is defined. * * @param string $name The block name * @param array $context An array of parameters to pass to the template * * @return bool */ public function hasBlock($name, $context = []) { return $this->template->hasBlock($name, $context); } /** * Returns defined block names in the template. * * @param array $context An array of parameters to pass to the template * * @return string[] An array of defined template block names */ public function getBlockNames($context = []) { return $this->template->getBlockNames($context); } /** * Renders a template block. * * @param string $name The block name to render * @param array $context An array of parameters to pass to the template * * @return string The rendered block */ public function renderBlock($name, $context = []) { $context = $this->env->mergeGlobals($context); $level = ob_get_level(); ob_start(); try { $this->template->displayBlock($name, $context); } catch (\Throwable $e) { while (ob_get_level() > $level) { ob_end_clean(); } throw $e; } return ob_get_clean(); } /** * Displays a template block. * * @param string $name The block name to render * @param array $context An array of parameters to pass to the template */ public function displayBlock($name, $context = []) { $this->template->displayBlock($name, $this->env->mergeGlobals($context)); } /** * @return Source */ public function getSourceContext() { return $this->template->getSourceContext(); } /** * @return string */ public function getTemplatename() { return $this->template->getTemplateName(); } } class_alias('Twig\TemplateWrapper', 'Twig_TemplateWrapper');
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
Cache | Folder | 0755 |
|
|
Error | Folder | 0755 |
|
|
Extension | Folder | 0755 |
|
|
Loader | Folder | 0755 |
|
|
Node | Folder | 0755 |
|
|
NodeVisitor | Folder | 0755 |
|
|
Profiler | Folder | 0755 |
|
|
RuntimeLoader | Folder | 0755 |
|
|
Sandbox | Folder | 0755 |
|
|
Test | Folder | 0755 |
|
|
TokenParser | Folder | 0755 |
|
|
Util | Folder | 0755 |
|
|
Compiler.php | File | 5.49 KB | 0644 |
|
Environment.php | File | 27.69 KB | 0644 |
|
ExpressionParser.php | File | 28.5 KB | 0644 |
|
ExtensionSet.php | File | 13.37 KB | 0644 |
|
FileExtensionEscapingStrategy.php | File | 1.49 KB | 0644 |
|
Lexer.php | File | 15.33 KB | 0644 |
|
Markup.php | File | 853 B | 0644 |
|
NodeTraverser.php | File | 1.84 KB | 0644 |
|
Parser.php | File | 12.65 KB | 0644 |
|
Source.php | File | 1022 B | 0644 |
|
Template.php | File | 12.22 KB | 0644 |
|
TemplateWrapper.php | File | 3.47 KB | 0644 |
|
Token.php | File | 5.65 KB | 0644 |
|
TokenStream.php | File | 3.62 KB | 0644 |
|
TwigFilter.php | File | 3.54 KB | 0644 |
|
TwigFunction.php | File | 3.3 KB | 0644 |
|
TwigTest.php | File | 2.45 KB | 0644 |
|