/**
  * Registers the service provider with a DI container.
  *
  * @param   Container  $container  The DI container.
  *
  * @return  void
  *
  * @since   1.0
  */
 public function register(Container $container)
 {
     $container->set('Joomla\\Renderer\\RendererInterface', function (Container $container) {
         /* @type  \Joomla\Registry\Registry  $config */
         $config = $container->get('config');
         // Instantiate the renderer object
         $renderer = new TwigRenderer($config->get('template'));
         // Add our Twig extension
         $renderer->getRenderer()->addExtension(new TwigExtension($this->app));
         // Set the Lexer object
         $renderer->getRenderer()->setLexer(new \Twig_Lexer($renderer->getRenderer(), ['delimiters' => ['tag_comment' => ['{#', '#}'], 'tag_block' => ['{%', '%}'], 'tag_variable' => ['{{', '}}']]]));
         return $renderer;
     }, true, true);
     // Alias the renderer
     $container->alias('renderer', 'Joomla\\Renderer\\RendererInterface');
 }
 /**
  * {@inheritdoc}
  */
 public function register(Container $container)
 {
     $container->alias('renderer', 'Joomla\\Renderer\\RendererInterface')->set('Joomla\\Renderer\\RendererInterface', function (Container $container) {
         /* @type  \Joomla\Registry\Registry  $config */
         $config = $container->get('config');
         // Setup the path
         $templateConfig = $config->get('template');
         $templateConfig->path = JPATH_TEMPLATES;
         // Instantiate the renderer object
         $renderer = new TwigRenderer($config->get('template'));
         // Add our Twig extension
         $renderer->getRenderer()->addExtension(new StatsExtension($container->get('app')));
         // Add the debug extension if enabled
         if ($config->get('template.debug')) {
             $renderer->getRenderer()->addExtension(new \Twig_Extension_Debug());
         }
         // Set the Lexer object
         $renderer->getRenderer()->setLexer(new \Twig_Lexer($renderer->getRenderer(), ['delimiters' => ['tag_comment' => ['{#', '#}'], 'tag_block' => ['{%', '%}'], 'tag_variable' => ['{{', '}}']]]));
         return $renderer;
     }, true, true);
 }
 /**
  * Registers the service provider with a DI container.
  *
  * @param   Container  $container  The DI container.
  *
  * @return  void
  *
  * @since   1.0
  */
 public function register(Container $container)
 {
     $container->share('Joomla\\Renderer\\RendererInterface', function (Container $container) {
         /* @type  \Joomla\Registry\Registry  $config */
         $config = $container->get('config');
         // Instantiate the renderer object
         $rendererConfig = array_merge((array) $config->get('template'), ['path' => JPATH_TEMPLATES]);
         // If the cache isn't false, then it should be a file path relative to the app root
         $rendererConfig['cache'] = $rendererConfig['cache'] === false ? $rendererConfig['cache'] : JPATH_ROOT . '/' . $rendererConfig['cache'];
         // Instantiate the renderer object
         $renderer = new TwigRenderer($rendererConfig);
         // Add our Twig extension
         $renderer->getRenderer()->addExtension(new TwigExtension($this->app));
         // Add the debug extension if enabled
         if ($config->get('template.debug')) {
             $renderer->getRenderer()->addExtension(new \Twig_Extension_Debug());
         }
         // Set the Lexer object
         $renderer->getRenderer()->setLexer(new \Twig_Lexer($renderer->getRenderer(), ['delimiters' => ['tag_comment' => ['{#', '#}'], 'tag_block' => ['{%', '%}'], 'tag_variable' => ['{{', '}}']]]));
         return $renderer;
     }, true);
     // Alias the renderer
     $container->alias('renderer', 'Joomla\\Renderer\\RendererInterface');
 }
Esempio n. 4
0
 /**
  * @testdox  The template is rendered
  *
  * @covers   \Joomla\Renderer\TwigRenderer::render
  */
 public function testTheTemplateIsRendered()
 {
     $path = __DIR__ . '/stubs/twig';
     $renderer = new TwigRenderer();
     $renderer->addFolder($path);
     $this->assertSame(file_get_contents($path . '/index.twig'), $renderer->render('index.twig'));
 }