aatis / template-renderer
此包的最新版本(1.1.0)没有提供许可证信息。
Aatis模板渲染器
1.1.0
2024-02-14 13:16 UTC
Requires
- php: >=8.2
- aatis/dependency-injection: ^1.5
- twig/twig: ^3.8
README
关于
基于文件扩展名名称的可定制且易于使用的模板渲染器。
广告
此包是 Aatis
的一部分,不能在没有以下包的情况下使用
aatis/dependency-injection
(https://github.com/BatMaxou/aatis-DI)
安装
composer require aatis/template-renderer
用法
要求
将 TemplateRenderer
服务添加到 Container
。
# In config/services.yaml file : include_services: - 'Aatis\TemplateRenderer\Service\TemplateRenderer'
基本用法
调用具有模板路径和数据数组的 render()
方法。
$templateRenderer = new TemplateRenderer(); $templateRenderer->render('path/to/template', [ 'var_name' => 'value' ]);
自定义模板渲染器
默认情况下,此模板渲染器支持 .tpl.php
和 .html.twig
文件。
您可以通过创建以下内容来自定义模板渲染器
- 一个枚举,用于指定您希望针对自定义渲染器目标扩展名。
- 一个继承自
AbstractTemplateRenderer
的类。
enum ExtraTemplateFileExtension: string { case EXTRA = '.extra'; }
此自定义模板渲染器必须包含
EXTENSION
常量,调用枚举中对应目标扩展名的案例。render()
方法,将由基本模板渲染器调用。
class ExtraRenderer extends AbstractTemplateRenderer { public const EXTENSION = ExtraTemplateFileExtension::EXTRA; public function render(string $template, array $vars = []): void { // Render the special extension type template } }
最后,不要忘记将其添加到 TemplateRenderer
服务
# In config/services.yaml file : services: Aatis\TemplateRenderer\Service\TemplateRenderer: arguments: extraRenderers: - 'Namespace\Of\Your\Custom\Template\Renderer'