Backend PHP (BPH) Help

Utiliser plusieurs fichiers

Le format .phtml

À partir de maintenant nos projets vont utiliser plusieurs fichiers, nous allons donc faire la différence entre :

  • les fichiers qui contiennent du HTML et du PHP qui auront le format .phtml.

  • les fichiers qui contiennent uniquement du PHP qui auront le format .php.

Require

require est une fonctionnalité native de PHP qui permet d'injecter le code d'un fichier dans un autre.

Pour l'instant, vous allez surtout l'utiliser pour afficher le contenu de vos templates (les fichiers .phtml) depuis vos fichiers .php.

Au fur et à mesure des nouveaux modules, vous l'utiliserez pour des nouvelles choses.

Fonctionnement de require

Utiliser require c'est assez simple :

require "chemin/du/fichier.phtml";

Donc si par exemple, vous avez un fichier home.phtml dans un dossier templates:

require "templates/home.phtml";

Lorsque require injecte le contenu d'un fichier, le code dans le fichier injecté a accès au code déclaré avant lui mais pas celui déclaré après :

template.phtml

<h1> <?= $title ?> </h1> <p> <?= $content ?> </p>

Si votre fichier index.php ressemble à ceci :

index.php

$title = "Le titre de la page"; require "template.phtml"; $content = "Le contenu de la page";

Votre titre va bien être injecté, mais votre contenu, déclaré après le require n'est pas disponible dans template.phtml.

Vous devez modifier votre fichier comme ceci pour faire fonctionner le code :

index.php

$title = "Le titre de la page"; $content = "Le contenu de la page"; require "template.phtml";

Comment organiser un projet PHP

Pour démarrer un projet PHP, vous avez besoin de l'architecture de dossiers et fichiers suivante (elle évoluera au fur et à mesure que vous apprenez de nouvelles notions) :

- assets - styles - controllers - templates index.php

assets

assets c'est le dossier qui contiendra vos fichiers SASS, CSS et JavaScript.

controllers

controllers c'est le dossier qui contiendra vos fichiers de logique PHP, donc vos fichiers .php, à l'exception de votre index.php qui sera toujours à la racine de votre projet.

templates

templates c'est le dossier qui contiendra vos templates qui contiennent votre code HTML, donc vos fichiers .phtml.

index.php

index.php est l'unique fichier d'entrée de votre site, c'est le seul fichier que vous allez lancer, ce qui veut dire qu'à partir de là dans votre navigateur l'URL sera toujours : localhost/dossier/de/mon/exercice/index.php. Toutes les informations que vous voudrez transmettre passeront par les paramètres d'URL ou les formulaires.

Rediriger vers une URL

Vous aurez souvent besoin de rediriger vers une URL sans que l'utilisateur s'en rende compte, pour faire ça on utilise ;a fonction header fournie par PHP, attention à bien respecter les espaces, sinon ça ne fonctionnera pas :

header('Location: '. 'url-où-je-veux-aller');
21 November 2025