webman
webman copied to clipboard
Handling Twig extensions
Would be great if we could add extensions somehow in config without modifying the actual /support/view/Twig.php file
public static function render($template, $vars, $app = null)
{
static $views = [], $view_suffix;
$view_suffix = $view_suffix ? : \config('view.view_suffix', 'html');
$app = $app === null ? \request()->app : $app;
if (!isset($views[$app])) {
$view_path = $app === '' ? \app_path(). '/view/' : \app_path(). "/$app/view/";
$views[$app] = new Environment(new FilesystemLoader($view_path), \config('view.options', []));
$views[$app]->addExtension(new \Jasny\Twig\DateExtension());
$views[$app]->addExtension(new \Jasny\Twig\PcreExtension());
$views[$app]->addExtension(new \Jasny\Twig\TextExtension());
$views[$app]->addExtension(new \Jasny\Twig\ArrayExtension());
}
$vars = \array_merge(static::$_vars, $vars);
$content = $views[$app]->render("$template.$view_suffix", $vars);
static::$_vars = [];
return $content;
}