Можно ли буферизовать вывод $app->run from silex?
Мне было интересно, если можно сохранить вывод, созданный Silex. То, что я хочу достичь, это что-то вроде этого:
<?php
require('core.php');
$out = $app->run();
echo $app['twig']->render('header.html');
echo $out;
echo $app['twig']->render('footer.html');
Я хотел бы сделать это таким образом, потому что часть навигации встроена в мои динамические контроллеры и зарегистрирована как глобальная ветка. Я попытался использовать механизм ob_start без буферизации без успеха:
<?php
require('core.php');
ob_start();
$app->run();
$out = ob_get_contents();
ob_end_clean();
echo $app['twig']->render('header.html');
echo $out;
echo $app['twig']->render('footer.html');
Есть еще идеи на эту тему?
1 ответ
Решение
Вместо разделения заголовка / основного / нижнего колонтитула и использования глобальных переменных, вы должны использовать уникальный шаблон с наследованием шаблона.