xref: /plugin/combo/ComboStrap/Template/TemplateForComponent.php (revision 04fd306c7c155fa133ebb3669986875d65988276)
1*04fd306cSNickeau<?php
2*04fd306cSNickeau
3*04fd306cSNickeaunamespace ComboStrap\Template;
4*04fd306cSNickeau
5*04fd306cSNickeauuse ComboStrap\TemplateEngine;
6*04fd306cSNickeau
7*04fd306cSNickeauclass TemplateForComponent
8*04fd306cSNickeau{
9*04fd306cSNickeau
10*04fd306cSNickeau
11*04fd306cSNickeau
12*04fd306cSNickeau    private string $templateName;
13*04fd306cSNickeau
14*04fd306cSNickeau    public function __construct(string $templateName)
15*04fd306cSNickeau    {
16*04fd306cSNickeau        $this->templateName = $templateName;
17*04fd306cSNickeau    }
18*04fd306cSNickeau
19*04fd306cSNickeau    public static function create(string $templateName): TemplateForComponent
20*04fd306cSNickeau    {
21*04fd306cSNickeau        return new TemplateForComponent($templateName);
22*04fd306cSNickeau    }
23*04fd306cSNickeau
24*04fd306cSNickeau    public function render(array $data): string
25*04fd306cSNickeau    {
26*04fd306cSNickeau        return TemplateEngine::createFromContext()
27*04fd306cSNickeau            ->renderWebComponent($this->templateName,$data);
28*04fd306cSNickeau    }
29*04fd306cSNickeau
30*04fd306cSNickeau
31*04fd306cSNickeau}
32