diff --git a/CHANGELOG.md b/CHANGELOG.md index b796154..dd1d18a 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -10,11 +10,15 @@ All notable changes to this project will be documented in this file, in reverse ### Changed -- Nothing. +- [#67](https://github.com/zendframework/zend-expressive-zendviewrenderer/pull/67) + changes configuration option for default template suffix used by NamespacedPathStackResolver + to `$config['templates']['extension']` to match other template renderers provided + by framework. Default value is `phtml` ### Deprecated -- Nothing. +- [#67](https://github.com/zendframework/zend-expressive-zendviewrenderer/pull/67) + deprecates configuration option `$config['templates']['default_suffix']` ### Removed diff --git a/src/ConfigProvider.php b/src/ConfigProvider.php index 90c1c69..69081fa 100644 --- a/src/ConfigProvider.php +++ b/src/ConfigProvider.php @@ -1,7 +1,7 @@ 'phtml', + 'extension' => 'phtml', 'layout' => 'layout::default', 'paths' => [], ]; diff --git a/src/ZendViewRendererFactory.php b/src/ZendViewRendererFactory.php index 7e680a1..005e87c 100644 --- a/src/ZendViewRendererFactory.php +++ b/src/ZendViewRendererFactory.php @@ -1,7 +1,7 @@ has('config') ? $container->get('config') : []; $config = $config['templates'] ?? []; + // Configuration $resolver = new Resolver\AggregateResolver(); $resolver->attach( @@ -76,8 +77,9 @@ public function __invoke(ContainerInterface $container) : ZendViewRenderer // Inject helpers $this->injectHelpers($renderer, $container); + $defaultSuffix = $config['extension'] ?? $config['default_suffix'] ?? null; // Inject renderer - $view = new ZendViewRenderer($renderer, $config['layout'] ?? null, $config['default_suffix'] ?? null); + $view = new ZendViewRenderer($renderer, $config['layout'] ?? null, $defaultSuffix); // Add template paths $allPaths = isset($config['paths']) && is_array($config['paths']) ? $config['paths'] : []; diff --git a/test/ZendViewRendererFactoryTest.php b/test/ZendViewRendererFactoryTest.php index 112a637..9bee9c4 100644 --- a/test/ZendViewRendererFactoryTest.php +++ b/test/ZendViewRendererFactoryTest.php @@ -1,7 +1,7 @@ [ + 'extension' => 'php', + ], + ]; + + $this->container->has('config')->willReturn(true); + $this->container->get('config')->willReturn($config); + $this->container->has(HelperPluginManager::class)->willReturn(false); + $this->container->has(PhpRenderer::class)->willReturn(false); + + $factory = new ZendViewRendererFactory(); + $view = $factory($this->container->reveal()); + + $r = new ReflectionProperty($view, 'resolver'); + $r->setAccessible(true); + $resolver = $r->getValue($view); + + $this->assertInstanceOf( + NamespacedPathStackResolver::class, + $resolver, + 'Expected NamespacedPathStackResolver not found!' + ); + $this->assertEquals('php', $resolver->getDefaultSuffix()); + } + + public function testConfiguresDeprecatedDefaultSuffix() { $config = [ 'templates' => [