Lab PHP pas à pas
Un vrai PHP 8.3 tourne dans votre navigateur. Choisissez la requête que le navigateur envoie (GET ou POST, avec des données de formulaire), puis suivez le script ligne par ligne : les variables, les superglobales $_GET, $_POST et $_SESSION, les objets en mémoire, et le HTML qui part vers le navigateur.
Requête du navigateur ce que le navigateur demande au serveur avant que PHP s'exécute
index.php
Variables de la plus récente à la plus ancienne
Les variables apparaîtront ici dès la première étape.
Sortie HTML ce que PHP envoie au navigateur, jusqu'à cette étape
Mémoire classes et objets à cette étape
Les classes et les objets créés apparaîtront ici.
Page affichée le HTML reçu jusqu'à cette étape, tel que le navigateur l'afficherait
Chaque ligne exécutée s'ajoute ici avec les valeurs obtenues juste après.
Variables et affichage
$prix = 180; // int $nom = "Tajine"; // string echo "<p>$nom : $prix DH</p>"; echo 'Total : ' . $prix * 2;
Entre guillemets doubles, les variables sont remplacées ; le point colle des morceaux.
Conditions et boucles
if ($note >= 10) { ... } elseif (...) { ... } else { ... }
for ($i = 1; $i <= 5; $i++) { ... }
foreach ($panier as $cle => $valeur) { ... }
while ($stock > 0) { ... }Formulaires
$nom = $_POST['nom'] ?? ''; // POST
$q = $_GET['q'] ?? ''; // ?q=... dans l'URL
if ($_SERVER['REQUEST_METHOD'] === 'POST') { ... }
echo htmlspecialchars($nom);Écrivez les données envoyées dans « Requête du navigateur » : une ligne nom=valeur par champ.
Fonctions
function ttc(float $ht, float $tva = 0.2): float {
return $ht * (1 + $tva);
}Chaque appel ouvre un cadre dans Variables ; le bandeau montre la valeur renvoyée.
Objets
class Produit {
public function __construct(
public string $nom, private float $prix) {}
}
$p = new Produit("Savon", 30);
echo $p->nom;🔒 private, 🛡 protected : visibles dans le panneau Mémoire.
PDO
$pdo = new PDO('mysql:host=localhost;dbname=souk', 'root', '');
$r = $pdo->prepare('SELECT * FROM produits WHERE id = ?');
$r->execute([3]);
$p = $r->fetch(PDO::FETCH_ASSOC);La base souk (Souk Atlas, module 06) est simulée dans le navigateur.