0.3Syntaxe de base : balises, echo, commentaires
<?php ... ?>, afficher du texte et mélanger PHP/HTML.Écrivons du PHP. La première particularité du langage : PHP s'insère DANS du HTML grâce à des balises. 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 cette capacité à « mélanger » PHP et HTML qui fait de PHP un langage de templating naturel pour le web : <h1>Bonjour <?php echo 'le monde'; ?></h1> produit un titre HTML dont une partie est générée par PHP. Un fichier .php peut ainsi être majoritairement du HTML avec des « îlots » de PHP, ou majoritairement du PHP. Bonne pratique : pour un fichier de PHP PUR (sans HTML après), on OMET souvent la balise de fermeture ?> finale (pour éviter des espaces parasites) — un réflexe courant.
Les éléments de syntaxe de base à connaître dès maintenant. echo : la construction pour AFFICHER (produire de la sortie, du texte/HTML) — echo 'Bonjour'; génère « Bonjour » dans la page. C'est votre outil fondamental pour produire du contenu. (Il existe aussi print, similaire.) Les instructions se terminent par un point-virgule ; — l'oublier est l'erreur de débutant la plus fréquente (elle provoque une erreur de syntaxe). Les commentaires : du texte ignoré par PHP, pour expliquer le code — // commentaire sur une ligne, # aussi pour une ligne, et /* commentaire sur plusieurs lignes */. Ils sont essentiels pour rendre le code lisible (par vous plus tard, et par d'autres). Un point important sur PHP moderne : la manière RECOMMANDÉE d'afficher des variables dans du HTML utilise souvent la syntaxe courte <?= $variable ?> (équivalent de <?php echo $variable; ?>) — pratique dans les templates. Enfin, une notion de sensibilité à la casse à connaître : les mots-clés et fonctions PHP ne sont pas sensibles à la casse (echo, ECHO fonctionnent), mais les variables le sont ($nom et $Nom sont différentes) — d'où l'importance d'être cohérent. Ces bases — balises pour insérer PHP dans HTML, echo pour afficher, point-virgule pour terminer, commentaires pour documenter — sont les gestes élémentaires que vous répéterez dans chaque fichier. Les maîtriser, c'est pouvoir écrire vos premiers scripts PHP et voir leur résultat dans le navigateur. Le traditionnel premier programme (<?php echo 'Hello, PHP!'; ?> dans un fichier, ouvert via localhost) confirme que tout fonctionne et vous lance dans l'écriture de code.
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.
- 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`).
- Point-virgule
- Termine chaque instruction PHP (`;`) ; l'oublier provoque une erreur de syntaxe — l'erreur de débutant la plus fréquente.
- Commentaires
- Texte ignoré par PHP pour expliquer le code : `//` ou `#` (une ligne), `/* ... */` (plusieurs lignes) ; essentiels à la lisibilité.
- Syntaxe courte = ?>
- Équivalent de `` : `= $variable ?>` affiche une variable, pratique dans les templates HTML. Les variables sont sensibles à la casse (mais pas les mots-clés).
Comment installer un environnement PHP local pour débuter ?
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.
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.
Questions fréquentes
Comment PHP se mélange-t-il au HTML, et quelle est la bonne façon de structurer un fichier PHP ?
Le mélange de PHP et HTML est la caractéristique fondatrice de PHP (un langage de templating pour le web), et bien le structurer est important pour la lisibilité et la maintenabilité — voici comment ça marche et les bonnes pratiques. Comment le mélange fonctionne : un fichier .php peut contenir à la fois du HTML et du PHP. La règle est simple : tout ce qui est HORS des balises <?php ... ?> est traité comme du HTML (envoyé tel quel au navigateur), et tout ce qui est DEDANS est du code PHP (exécuté par le serveur, dont le RÉSULTAT est inséré dans la sortie). Vous pouvez donc « entrer » et « sortir » du mode PHP autant de fois que vous voulez dans un fichier. Exemples de structures : (1) Majoritairement HTML avec des îlots de PHP (mode « template ») : un fichier surtout HTML, où l'on insère du PHP pour les parties dynamiques (afficher une variable, boucler sur une liste, condition). Exemple : une page HTML classique où <?= $titre ?> insère un titre dynamique, où une boucle PHP génère les lignes d'un tableau. C'est naturel pour les VUES (l'affichage). (2) Majoritairement PHP : un fichier surtout de logique PHP (calculs, traitements, accès base), avec peu ou pas de HTML. C'est le cas des fichiers de LOGIQUE (traitement de formulaire, fonctions, classes). Les bonnes pratiques de structuration : (1) Séparer la LOGIQUE et l'AFFICHAGE. C'est LE principe clé. Mélanger anarchiquement du PHP complexe (requêtes, logique métier) au milieu du HTML rend le code illisible et non maintenable (le fameux « code spaghetti »). La bonne approche : faire la LOGIQUE d'abord (récupérer/traiter les données en PHP, en haut du fichier ou dans des fichiers séparés), PUIS l'AFFICHAGE (le HTML avec de simples insertions de variables déjà préparées). Idéalement, on va vers une vraie séparation (le pattern MVC, section 4-1 : Modèle/Vue/Contrôleur) où la logique et les vues sont dans des fichiers distincts. (2) Dans les VUES (HTML), limiter le PHP au minimum : afficher des variables (<?= $x ?>), boucler, conditionner — pas de logique métier complexe. Pour les structures de contrôle dans les templates, PHP offre une syntaxe alternative lisible (<?php foreach (...): ?> ... <?php endforeach; ?>) plus claire que les accolades au milieu du HTML. (3) Utiliser <?= ?> pour afficher (plus concis que <?php echo ... ?>) dans les templates. (4) Omettre la balise de fermeture ?> finale dans les fichiers de PHP PUR (sans HTML après) : cela évite des espaces/lignes parasites en fin de fichier qui peuvent causer des bugs subtils (envoi de contenu avant des en-têtes, par exemple). Un réflexe courant et recommandé. (5) ÉCHAPPER les données affichées (sécurité, on le verra en 3-4) : quand vous affichez des données venant de l'utilisateur ou de la base, utilisez htmlspecialchars() pour éviter les failles XSS. Ne jamais afficher brutalement des données non fiables. L'évolution vers les MOTEURS DE TEMPLATE : quand vous utiliserez des frameworks (niveau 4), vous emploierez des moteurs de templates dédiés (Blade pour Laravel, Twig pour Symfony) qui offrent une syntaxe propre pour les vues, séparent clairement logique et affichage, et échappent automatiquement (sécurité). Ils remplacent le mélange PHP/HTML « brut » par une approche plus structurée et sûre. Mais comprendre le mélange PHP/HTML de base reste important (c'est le fondement, et beaucoup de code l'utilise). En résumé : PHP se mélange au HTML via les balises (hors = HTML, dedans = PHP), ce qui en fait un langage de templating naturel. La bonne structuration repose sur la SÉPARATION logique/affichage (faire la logique d'abord, l'affichage ensuite, idéalement dans des fichiers distincts façon MVC), sur des vues où le PHP est minimal (afficher/boucler/conditionner proprement), sur l'usage de <?= ?>, l'omission de la balise de fermeture en PHP pur, et l'échappement des données. Évitez le code spaghetti (logique complexe noyée dans le HTML) ; visez la clarté par la séparation. Les moteurs de template (Blade, Twig) formaliseront cela plus tard. Ce réflexe de séparation, adopté tôt, distingue un code PHP propre et maintenable d'un bricolage illisible.
Quelles sont les erreurs de syntaxe les plus fréquentes chez les débutants en PHP ?
Certaines erreurs de syntaxe reviennent constamment chez les débutants ; les connaître vous fait gagner un temps précieux (au lieu de chercher en vain), car elles sont faciles à identifier une fois qu'on les a en tête. Les erreurs les plus fréquentes : (1) Le POINT-VIRGULE oublié. C'est l'erreur n°1. Chaque instruction PHP doit se terminer par ;. L'oublier provoque une erreur de syntaxe (« syntax error, unexpected... »), souvent signalée à la ligne SUIVANTE (car PHP continue de lire jusqu'à comprendre qu'il manque le point-virgule) — ce qui déroute (on cherche l'erreur au mauvais endroit). Réflexe : si une erreur de syntaxe est signalée sur une ligne qui semble correcte, vérifiez la ligne PRÉCÉDENTE (point-virgule manquant). (2) Le signe DOLLAR $ oublié devant une variable. En PHP, TOUTES les variables commencent par $ ($nom, $age). Oublier le $ (écrire nom au lieu de $nom) fait que PHP interprète le mot autrement (comme une constante ou un mot-clé) — erreur ou comportement inattendu. Réflexe : toujours $ devant une variable. (3) Les ACCOLADES ou PARENTHÈSES non fermées (ou mal appariées). Chaque { doit avoir son }, chaque ( son ). Un déséquilibre provoque des erreurs (souvent « unexpected end of file » — PHP arrive à la fin sans avoir tout fermé). Réflexe : indenter proprement le code aide à repérer les blocs ; les éditeurs (VS Code) signalent les paires et colorent, ce qui aide énormément. (4) Les GUILLEMETS non fermés ou mal appariés. Une chaîne '...' ou "..." doit être fermée par le même type de guillemet. Un guillemet oublié « avale » le reste du code comme s'il faisait partie de la chaîne → erreur. Attention aussi aux guillemets DANS une chaîne (une apostrophe dans une chaîne délimitée par des apostrophes, par exemple) qu'il faut échapper (\') ou gérer en changeant de délimiteur. (5) La CASSE des variables. Les variables sont sensibles à la casse : $nom et $Nom sont DIFFÉRENTES. Écrire $Nom en pensant à $nom donne une variable vide/non définie (pas une erreur de syntaxe, mais un bug silencieux — plus vicieux). Réflexe : être cohérent et rigoureux dans le nommage. (6) Confondre = (affectation) et == (comparaison). = AFFECTE une valeur ($x = 5), == COMPARE ($x == 5). Écrire if ($x = 5) (un seul =) au lieu de if ($x == 5) AFFECTE 5 à $x (et la condition est toujours vraie) — un bug classique et sournois. (7) Les BALISES PHP mal écrites (<?php et ?>) : oublier d'ouvrir ou de fermer, ou mal les orthographier — le code PHP ne s'exécute pas (il s'affiche tel quel ou provoque des erreurs). (8) Appeler une FONCTION ou une VARIABLE qui n'existe pas / mal orthographiée : une faute de frappe dans un nom de fonction ou de variable → erreur (fonction inconnue) ou valeur nulle (variable non définie). Comment se prémunir et déboguer : (1) Activez l'AFFICHAGE DES ERREURS en développement : PHP peut afficher des messages d'erreur détaillés (avec le fichier et la ligne) — indispensable pour déboguer. En local, configurez PHP pour afficher toutes les erreurs (elles vous guident directement vers le problème). (LISEZ les messages d'erreur : ils indiquent le type d'erreur, le fichier et la ligne — une aide précieuse.) (2) Utilisez un bon ÉDITEUR (VS Code avec extensions PHP) : coloration syntaxique (repérer les chaînes non fermées), signalement des paires d'accolades, détection de certaines erreurs à la frappe, autocomplétion (évite les fautes de frappe sur les noms). L'éditeur attrape beaucoup d'erreurs AVANT l'exécution. (3) Indentez proprement : un code bien indenté rend les erreurs de structure (accolades) plus visibles. (4) Testez souvent (petits incréments) : en exécutant régulièrement, vous localisez vite ce qui casse (le dernier changement). (5) Lisez la ligne PRÉCÉDENTE quand une erreur semble sur une ligne correcte (point-virgule manquant au-dessus). En résumé : les erreurs de syntaxe fréquentes des débutants sont le point-virgule oublié (n°1), le $ manquant devant les variables, les accolades/parenthèses/guillemets non appariés, la casse des variables, la confusion =/==, et les fautes de frappe. Elles sont normales quand on débute et faciles à corriger une fois identifiées. Pour les gérer : activez l'affichage des erreurs (les messages guident vers le problème), utilisez un bon éditeur (qui en attrape beaucoup), indentez, testez souvent, et lisez attentivement les messages d'erreur (fichier + ligne). Avec l'habitude, ces erreurs deviennent rares et vous les repérez instantanément. Ne vous découragez pas : buter sur des erreurs de syntaxe fait partie de l'apprentissage de tout langage — l'important est de savoir les identifier et les corriger efficacement, ce qui vient vite avec la pratique.