Petit guide PHP pour le projet web

Mettre en place des templates avec les fichiers .inc.php

Pour commencer on peut d'abord essayer de se consacrer à diviser les différentes parties du site en petites (séparer le header du reste par exemple).

Cela permet de minimiser la recondance du code dans le projet. Le projet oblige la création d'un dossier inc/ dans le dossier principal du projet. Dans celui ci on peut y placer des fichiers tel que header.inc.php dans lequel on va simplement mettre notre header.

Ainsi ce code :

<html>
  <head>
    <title>Ewins</title>
  </head>
  <body>
    <header>
      <h1>Ewins</h1>
      <nav></nav>
    </header>
    <!-- Ici viens tout le reste du code mais tout ce qui est précédemment est répétitif sur toutes les pages du site -->
  </body>
</html>

Peut devenir ceci :

<?php require_once "inc/header.inc.php"; ?>
<!-- Ici viens tout le reste du code mais tout ce qui est précédemment est répétitif sur toutes les pages du site -->

Mettre en place les classes modèles

Le projet web s'approche d'un modèle appellé le MVC (Modèle-Vue-Controlleur) c'est un modèle conçu pour éviter de mélanger tous les codes différents dans le projet. Il est séparé en 3 parties

Je vais montrer un exemple plus concret plus tard dans cette synthèse

Utiliser les sessions dans le projet pour gérer les utilisateur·ice·s

On peut se faire chier à créer les cookies soit même, ou bien on peut demander à PHP de tout gérer pour nous. Une session dans PHP va créer un cookie avec un identifiant unique (qui va être stoqué chez l'utilisateur), à cet identifiant, PHP va associer des informations (celles que vous définissez dans votre code). Ainsi cela permet de garder des informations sur les gens qui visitent le site et nottament de les authentifier ou de stoquer des données "en cache" sans avoir besoin de faire tout le temps des requètes vers la base de donnée.

Encore une fois je vais en parler de manière plus concrete un peu plus tard.


Revision #2
Created 26 April 2023 12:43:47 by SnowCode
Updated 26 April 2023 12:58:09 by SnowCode