aatis/template-renderer

此包的最新版本(1.1.0)没有提供许可证信息。

Aatis模板渲染器

1.1.0 2024-02-14 13:16 UTC

This package is auto-updated.

Last update: 2024-09-14 14:34:54 UTC


README

关于

基于文件扩展名名称的可定制且易于使用的模板渲染器。

广告

此包是 Aatis 的一部分,不能在没有以下包的情况下使用

安装

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'