Абсолютное предотвращение загрязнения содержимого выходного буфера.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
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

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