function Template::renderBlock
Renders a block.
This method is for internal use only and should never be called directly.
Parameters
string $name The block name to render:
array $context The context:
array $blocks The current set of blocks:
bool $useBlocks Whether to use the current set of blocks:
Return value
string The rendered block
File
-
vendor/
twig/ twig/ src/ Template.php, line 189
Class
- Template
- Default base class for compiled templates.
Namespace
TwigCode
public function renderBlock($name, array $context, array $blocks = [], $useBlocks = true) : string {
if (!$this->useYield) {
$level = ob_get_level();
if ($this->env
->isDebug()) {
ob_start();
}
else {
ob_start(function () {
return '';
});
}
try {
$this->displayBlock($name, $context, $blocks, $useBlocks);
} catch (\Throwable $e) {
while (ob_get_level() > $level) {
ob_end_clean();
}
throw $e;
}
return ob_get_clean();
}
$content = '';
foreach ($this->yieldBlock($name, $context, $blocks, $useBlocks) as $data) {
$content .= $data;
}
return $content;
}