Skip to content

Layout#3

Open
rocambille wants to merge 4 commits intoLucBlocker01:masterfrom
rocambille:layout
Open

Layout#3
rocambille wants to merge 4 commits intoLucBlocker01:masterfrom
rocambille:layout

Conversation

@rocambille
Copy link
Copy Markdown

Un peu plus technique : tu as beaucoup de répétitions dans tes fichiers HTML. C'est normal puisque les pages de ton site partage une même structure pour avoir un affichage similaire. Tu peux mettre en place un système de template de vues, une version basique de twig dans Symfony.

Les fonctions PHP pour contrôler les sorties sont très pratiques pour ça : https://www.php.net/manual/en/ref.outcontrol.php

<?php

ob_start(); // commence la capture d'un texte

?>
<h1>hello, world!</h1>
<?php

$content = ob_get_clean(); // stoppe la capture et retourne le texte capturé

echo $content; // <h1>hello, world!</h1>

// ou :
// require "layout.php";
// voir ci-après

Avec ces outils, tu peux capturer des bouts d'HTML dans des variables pour les injecter ensuite dans un modèle de page réutilisable. Appelons ce fichier layout.php, requis dans le code ci-dessus :

<!doctype html>
<html>
  <body>
    <?php echo $content; ?>
    ou une version plus courte permise par PHP :
    <?= $content ?>
  </body>
</html>

Dans tes fichiers HTML, tu peux préparer autant de bloc que tu veux à injecter plus tard dans un layout : styles, scripts (à mettre dans le body, pas en dehors ;) ), contenu main...

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant