Я читал этот вопрос на 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>');
?>
Второй подход лучше? Есть ли еще лучший способ сделать это?