29 lines
694 B
PHP
29 lines
694 B
PHP
<?php
|
|
declare(strict_types=1);
|
|
|
|
namespace KbMarkdownImporter\Frontend;
|
|
|
|
final class TemplateLoader
|
|
{
|
|
public function render(string $template, array $vars = []): void
|
|
{
|
|
$path = KB_MARKDOWN_IMPORTER_DIR . 'templates/' . $template . '.php';
|
|
|
|
if (! is_readable($path)) {
|
|
status_header(500);
|
|
echo esc_html__('Knowledgebase template missing.', 'kb-markdown-importer');
|
|
return;
|
|
}
|
|
|
|
extract($vars, EXTR_SKIP);
|
|
include $path;
|
|
}
|
|
|
|
public function capture(string $template, array $vars = []): string
|
|
{
|
|
ob_start();
|
|
$this->render($template, $vars);
|
|
return (string) ob_get_clean();
|
|
}
|
|
}
|