Абсолютное предотвращение загрязнения содержимого выходного буфера.Php

Кемеровские программисты php общаются здесь
Anonymous
Абсолютное предотвращение загрязнения содержимого выходного буфера.

Сообщение Anonymous »

У меня есть следующий код, который в основном отображает частичные элементы. Однако я пытался найти способ предотвратить загрязнение переменной $templatePath в шаблоне (в настоящее время переменная доступна из шаблона, а это не то, что мне нужно). Я хочу, чтобы переменные $template и $viewHelper были доступны в области шаблона. Есть идеи?

Код: Выделить всё

public function renderComponent(string $templatePath, ViewComponentEntityInterface $component): string
{
if (! file_exists($templatePath)) {
throw new RuntimeException('Incorrect component template path: ' . $templatePath);
}

$viewHelper = $this->viewHelperFactory->create();

ob_start();

try {
(static function (ViewComponentEntityInterface $template,ViewHelper $viewHelper) use ($templatePath) {
include $templatePath;
})($component, $viewHelper);

return ob_get_clean();
} catch (Throwable $e) {
ob_end_clean();

throw $e;
}
}
Я пытался найти что-то вроде array_shift, но для одной переменной, которая просто сбрасывала бы значение и одновременно возвращала бы его.

Подробнее здесь: https://stackoverflow.com/questions/787 ... put-buffer

Вернуться в «Php»