for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Yiisoft\View;
class PhpTemplateRenderer implements TemplateRendererInterface
{
public function render(View $view, string $template, array $params): string
$renderer = function () use ($template, $params) {
extract($params, EXTR_OVERWRITE);
require $template;
};
$obInitialLevel = ob_get_level();
ob_start();
ob_implicit_flush(0);
try {
$renderer->bindTo($view)();
return ob_get_clean();
} catch (\Throwable $e) {
while (ob_get_level() > $obInitialLevel) {
if (!@ob_end_clean()) {
ob_clean();
}
throw $e;