gmarche/src/Framework/Renderer/TwigRendererFactory.php

31 lines
919 B
PHP

<?php
namespace Framework\Renderer;
use Psr\Container\ContainerInterface;
use Twig\Extension\DebugExtension;
class TwigRendererFactory
{
public function __invoke(ContainerInterface $container): TwigRenderer
{
//$debug = $container->get('env') !== 'production';
$debug = true;
$viewPath = $container->get('views.path');
$loader = new \Twig_Loader_Filesystem($viewPath);
$twig = new \Twig_Environment($loader, [
//'debug' => $debug,
'debug' => true,
'cache' => $debug ? false : 'tmp/views',
'auto_reload' => $debug
]);
$twig->addExtension(new DebugExtension());
if ($container->has('twig.extensions')) {
foreach ($container->get('twig.extensions') as $extension) {
$twig->addExtension($extension);
}
}
return new TwigRenderer($twig);
}
}