Le moteur cherche dans un dossier précis
La méthode partial() cherche uniquement sous src/views/partials. Le nom transmis est relatif à ce dossier.
<?php $view->partial('header.php') ?>
<?php $view->partial('footer.php') ?>Ces appels chargent src/views/partials/header.php et src/views/partials/footer.php. Un fichier absent provoque une erreur claire au lieu d’être silencieusement ignoré.
Créez le head commun
src/views/partials/head.php
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta name="description" content="<?= $view->escape($description ?? '') ?>">
<title><?= $view->escape($title ?? 'Reading List') ?></title>
<link rel="stylesheet" href="/css/app.css">Les opérateurs ?? fournissent une valeur de remplacement lorsque title ou description ne sont pas transmis.
Transmettez des valeurs au partiel
<!DOCTYPE html>
<html lang="fr">
<head>
<?php $view->partial('head.php', [
'title' => 'Mes livres',
'description' => 'Votre bibliothèque personnelle.',
]) ?>
</head>
<body>
<?php $view->partial('header.php') ?>
<main><!-- contenu propre à la page --></main>
<?php $view->partial('footer.php') ?>
</body>
</html>Le tableau du second argument est extrait seulement pour ce partiel. Le head reçoit donc les métadonnées dont il a besoin sans dépendre de variables globales.
Partiel ou page complète ?
La composition se fait explicitement avec partial(). Cette transparence aide à comprendre quel fichier produit chaque morceau du document.