0.3Syntaxe de base : balises, echo, commentaires
L'essentiel en 30 secondes
- Balises pour insérer PHP dans du HTML : hors des balises = HTML envoyé tel quel, dedans = PHP exécuté.
- echo affiche, point-virgule termine : chaque instruction finit par ; — l'oublier est l'erreur n°1 du débutant.
- Documentez et affichez court : commentaires // et /* */, syntaxe courte = ?> dans les templates.
Mini-cas filé — Riad écrit sa première page
Riad, développeur web à Constantine, a son environnement prêt : il crée bonjour.php dans le dossier racine. Il y écrit du HTML avec un « îlot » de PHP entre balises pour afficher le prénom du visiteur avec echo, termine chaque instruction par un point-virgule, ajoute un commentaire pour s'y retrouver, et teste la syntaxe courte dans son titre. Il ouvre la page via localhost : le navigateur affiche le résultat, jamais le code. Sa chaîne « éditer, lancer via localhost, lire » fonctionne.
Cas autonome de cette section : il revient dans le cours, le schéma, le script et le défi 48h de la section 0.3.
1. Balises et echo
Le code PHP se place entre <?php (ouverture) et ?> (fermeture). Tout ce qui est HORS de ces balises est du HTML (envoyé tel quel au navigateur) ; tout ce qui est DEDANS est du code PHP (exécuté par le serveur). C'est ce qui fait de PHP un langage de templating naturel : <h1>Bonjour <?php echo 'le monde'; ?></h1> produit un titre dont une partie est générée. echo est la construction pour AFFICHER (produire du texte/HTML) — votre outil fondamental de sortie (il existe aussi print, similaire). Chaque instruction se termine par un point-virgule ; — l'oublier est l'erreur de débutant n°1. Pour un fichier de PHP pur, on omet souvent la balise de fermeture finale (évite des espaces parasites). Riad écrit son premier echo et voit aussitôt le résultat via localhost.
2. Commentaires, syntaxe courte, casse
Les commentaires sont du texte ignoré par PHP, pour expliquer le code : // ou # pour une ligne, /* ... */ pour plusieurs lignes — essentiels pour la lisibilité (par vous plus tard, et par d'autres). La syntaxe courte <?= $variable ?>, équivalent de <?php echo $variable; ?>, est pratique dans les templates HTML. Enfin la casse : les mots-clés et fonctions ne sont pas sensibles à la casse (echo ou ECHO fonctionnent), mais les variables le sont ($nom et $Nom sont différentes) — d'où l'importance d'être cohérent. Riad commente chaque bloc de sa page à Constantine et adopte une casse unique pour ses variables.
3. Structurer : séparer logique et affichage
Un fichier .php peut être majoritairement du HTML avec des « îlots » de PHP (mode template, naturel pour les vues) ou majoritairement du PHP (fichiers de logique). Le principe clé : séparer la LOGIQUE et l'AFFICHAGE — traiter les données d'abord, afficher ensuite avec de simples insertions — sinon on obtient du « code spaghetti » illisible (le pattern MVC de la section 4-1 formalisera cela). Dans les vues, on limite le PHP au minimum (afficher, boucler, conditionner) et on échappe les données affichées (section 3-4). Riad place ses calculs en haut de bonjour.php et son HTML en dessous : sa page reste lisible.
🔎 Exemple concret — 🔎 Exemple concret — Premier script
Mélanger PHP et HTML.
Bonjour
Nous sommes le = date("d/m/Y") ?>
Lecture : Riad ouvre la page via localhost : le titre affiche le prénom, la date du jour est générée par PHP.
Leçon : une page où PHP génère les parties dynamiques — avec le réflexe d'échapper les données affichées (voir 3.4).
Vocabulaire de la section
- Balises PHP
- Le code PHP se place entre `` ; hors des balises = HTML (envoyé tel quel), dedans = code PHP (exécuté). Permet de mélanger PHP et HTML.
Exemple simple : Riad insère un prénom dynamique au milieu de son titre HTML.
Ce que ce n'est pas : des décorations optionnelles autour du code.
Réflexe : entrer et sortir du mode PHP autant que nécessaire dans un template.
- echo
- Construction pour AFFICHER (produire de la sortie) : `echo 'Bonjour';` génère du texte/HTML dans la page. L'outil fondamental de sortie (aussi `print`).
Exemple simple : Riad affiche « Hello, PHP ! » et vérifie le résultat dans le navigateur.
Ce que ce n'est pas : une fonction qui lit une entrée utilisateur.
Réflexe : afficher d'abord pour vérifier, supposer ensuite.
- Point-virgule
- Termine chaque instruction PHP (`;`) ; l'oublier provoque une erreur de syntaxe — l'erreur de débutant la plus fréquente.
Exemple simple : Riad oublie un point-virgule : l'erreur est signalée à la ligne suivante, il corrige la précédente.
Ce que ce n'est pas : un simple choix de style sans conséquence.
Réflexe : devant une erreur de syntaxe, vérifier le point-virgule de la ligne précédente.
- Commentaires
- Texte ignoré par PHP pour expliquer le code : `//` ou `#` (une ligne), `/* ... */` (plusieurs lignes) ; essentiels à la lisibilité.
Exemple simple : Riad commente le haut de bonjour.php pour expliquer ce que génère la page.
Ce que ce n'est pas : du texte affiché au visiteur.
Réflexe : commenter le « pourquoi », pas chaque ligne évidente.
- Syntaxe courte = ?>
- Équivalent de `` : `= $variable ?>` affiche une variable, pratique dans les templates HTML. Les variables sont sensibles à la casse (pas les mots-clés).
Exemple simple : Riad écrit = $prenom ?> dans son titre au lieu d'un bloc echo complet.
Ce que ce n'est pas : une syntaxe réservée aux fichiers de logique pure.
Réflexe : dans les vues, préférer = ?> pour les affichages simples.
En pratique — En pratique — Écrire son premier code PHP
- Créez un fichier .php dans le dossier racine et insérez du PHP dans du HTML avec les balises ``.
- Affichez du texte avec `echo 'Hello, PHP!';` (n'oubliez pas le point-virgule !) et ouvrez la page via localhost.
- Mélangez HTML et PHP : `
Bonjour
` ; testez aussi la syntaxe courte `= ... ?>`. - Ajoutez des commentaires (`//`, `/* ... */`) pour documenter votre code, et vérifiez que le résultat s'affiche correctement.
Script prêt à dire — raconter sa première page (30 s)
« J'ai créé bonjour.php dans le dossier racine : du HTML avec un îlot de PHP entre balises qui affiche le prénom avec echo. Chaque instruction finit par un point-virgule, j'ai commenté mon code, et via localhost je vois le résultat — jamais le code. »
À dire en montrant côte à côte le fichier .php et la page affichée dans le navigateur.
Modèle copier-coller — ma première page PHP
Bonjour = $prenom ?>
Sans variable
Commencez par un echo fixe (« Hello, PHP ! ») ouvert via localhost, puis introduisez une variable $prenom et la syntaxe courte — un pas à la fois.
Chasseur de point-virgule
Retirez volontairement un point-virgule, lisez le message d'erreur, notez qu'il pointe la ligne suivante, puis corrigez — l'erreur n°1 ne vous surprendra plus.
Binôme à Constantine
Riad dicte, son collègue tape : l'un lit le fichier .php à voix haute (balises, echo, commentaires), l'autre décrit ce que le navigateur affiche.
Vers le propre
Page qui fonctionne : déplacez toute la logique en haut du fichier, ne gardez que des affichages simples dans le HTML, et échappez chaque donnée affichée.
✓ Bonnes pratiques
- Terminez chaque instruction par un point-virgule (piège n°1).
- Séparez la logique (en haut) et l'affichage (le HTML ensuite).
- Utilisez = ?> dans les templates ; échappez les données affichées (3.4).
✗ Pièges fréquents
- Oublier le point-virgule ou le $ devant une variable.
- Mélanger anarchiquement logique complexe et HTML (code spaghetti).
- Se tromper de casse sur une variable ($nom ≠ $Nom) — bug silencieux.
Points clés à retenir
- PHP s'insère dans du HTML via des BALISES `` : hors des balises = HTML (envoyé tel quel), dedans = PHP (exécuté). PHP est un langage de templating naturel.
- `echo` AFFICHE (produit du texte/HTML) : l'outil de sortie fondamental. Chaque instruction se termine par un POINT-VIRGULE `;` (l'oublier = erreur, le piège n°1 du débutant).
- COMMENTAIRES (`//`, `#`, `/* */`) pour documenter. Syntaxe courte `= $variable ?>` (= echo) pratique dans les templates.
- Les MOTS-CLÉS/fonctions ne sont PAS sensibles à la casse, mais les VARIABLES le sont (`$nom` ≠ `$Nom`) — être cohérent. Un fichier .php mêle HTML et « îlots » de PHP.
Défi 48h — appliquez demain
Créez bonjour.php avec le modèle de Riad, ouvrez-le via localhost, changez le prénom, et ajoutez un commentaire expliquant la page.
- Ma page bonjour.php s'affiche via localhost avec le prénom généré.
- J'utilise balises, echo, point-virgule et syntaxe courte sans aide.
- Mon code est commenté et la logique est séparée de l'affichage.
Questions fréquentes
Comment PHP se mélange-t-il au HTML, et comment bien structurer un fichier PHP ?
Tout ce qui est HORS des balises `` est du HTML (envoyé tel quel), tout ce qui est DEDANS est du PHP (exécuté, son résultat inséré) ; on peut entrer et sortir du mode PHP autant qu'on veut. Deux structures : majoritairement HTML avec des îlots de PHP (mode « template », naturel pour les VUES — ex. `= $titre ?>`), ou majoritairement PHP (fichiers de LOGIQUE : traitement, fonctions, classes). Bonnes pratiques : (1) SÉPARER la logique et l'affichage — le principe clé : logique d'abord, affichage ensuite, idéalement dans des fichiers distincts (le MVC, section 4-1) ; (2) dans les VUES, limiter le PHP au minimum (afficher, boucler, conditionner) ; (3) utiliser = ?> pour afficher ; (4) omettre la balise de fermeture finale dans les fichiers de PHP pur ; (5) ÉCHAPPER les données affichées (sécurité XSS, 3.4).
Quelles sont les erreurs de syntaxe les plus fréquentes chez les débutants ?
(1) Le POINT-VIRGULE oublié (n°1) — l'erreur est souvent signalée à la ligne SUIVANTE, donc vérifiez la ligne précédente. (2) Le $ oublié devant une variable. (3) Les ACCOLADES/PARENTHÈSES non appariées (souvent « unexpected end of file ») — indenter et un bon éditeur aident. (4) Les GUILLEMETS non fermés — attention aux apostrophes dans une chaîne. (5) La CASSE des variables (`$nom` ≠ `$Nom`) — bug silencieux. (6) Confondre = (affectation) et == (comparaison). (7) Les BALISES PHP mal écrites. Pour se prémunir : activez l'AFFICHAGE DES ERREURS en développement, utilisez VS Code avec extensions PHP, indentez et testez par petits incréments.
Quelle est l'erreur de syntaxe n°1 du débutant en PHP ?