Я читал этот вопрос на stackoverflow:
/programming/104516/calling-php-functions-within-heredoc-strings
и принятый ответ говорит делать простые шаблоны PHP, как это:
template.php:
<HTML> <Голова> <Title> <? = $ Название?> </ Title> </ HEAD> <Тело> <? = GetContent ()?> </ Body> </ Html>
index.php:
<? PHP $ title = 'Demo Title'; function getContent () { return '<p> Hello World! </ p>'; } включают в себя ( 'template.php'); ?>
Для меня вышеизложенное не очень хорошо структурировано в том смысле, что template.php зависит от переменных, которые определены в других скриптах. И вы используете include () для выполнения кода, когда вы это делаете include('template.php')
(в отличие от использования include () для включения класса или функции, которая выполняется не сразу).
Я чувствую, что лучший подход - обернуть ваш шаблон внутри функции:
template.php:
<? PHP шаблон функции ($ title, $ content) { ob_start (); ?> <HTML> <Голова> <Title> <? = $ Название?> </ Title> </ HEAD> <Тело> <? = $ Содержание?> </ Body> </ Html> <? php return ob_get_clean (); } ?>
index.php:
<? PHP require_once ( 'template.php'); шаблон печати ('Demo Title', '<p> Hello World! </ p>'); ?>
Второй подход лучше? Есть ли еще лучший способ сделать это?