Создаете 4 файла:
template.php, header.php, content.php, footer.php.
Подключаете в файле
template.php остальные 3 файла:
//template.php
<!DOCTYPE html>
<html lang="ru">
<?php
include_once 'header.php';
?>
<body>
<?php
include_once 'content.php';
include_once 'footer.php';
?>
</body>
</html>
Потом в том файле, который будет выводить содержимое страницы, сначала получаете нужные данные (допустим из базы), а далее подключаете файл
template.php.
Допустим, для главной страницы будет примерно так:
//index.php
$data = [
'title' => 'Главная страница',
'content' => 'Содержимое главной страницы',
];
include_once 'template.php';
Ну и соответственно в файлах шаблона выводите переменные:
//header.php
<head>
<title><?=$data['title']?></title>
</head>
//content.php
<div>
<p><?=$data['content']?></p>
</div>
//footer.php
<footer>
<p>Подвал сайта</p>
</footer>