Ogólnie należy oddzielać widok strony od jej logiki. Można to robić na kilka sposobów, ale jeżeli jesteś na początku zabawy z PHP, możesz do tego zrobić oddzielną klasę, która renderuje jakiś szablon.
Przykładowa klasa:
class View
{
public function render(array $params): void
{
// Główna templatka twojej strony
require_once("templates/layout.php");
}
}
W $params przekazujesz dane, która mają zostać wyświetlone na twojej stronie. W pliku, który w moim przypadku nazywa się layout.php, mogę wyświetlić te dane, załóżmy że wywołałem w jakimś miejscu metodę render, $view->render(['message' => 'Hello World!']), aby to wrzucić do templatki należy w niej zrobić coś takiego:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
</head>
<body>
<p><?php echo $params['message'] ?></p>
// ALBO
<p><?= $params['message'] ?></p>
</body>
</html>
Możesz tutaj dorzucać różne zagnieżdżenia plików, poprzez require/include, ale na przyszłość jeżeli chcesz iść w tym kierunku poczytaj sobie o MVC i o silnikach szablonów. Sam PHP może być też używany do wyświetlania danych w strukturze HTML, ale nie jest to najlepsza opcja.