Premiers pas : syntaxe, variables et types

Première leçon du cours PHP fondamentaux, en accès libre : environ 15 minutes, 3 exercices et 3 questions de quiz. C'est la leçon de base du catalogue ; dans l'espace étudiant, elle est réécrite pour ton profil.

Objectifs

  • Écrire et exécuter un premier script PHP en ligne de commande
  • Déclarer des variables et distinguer les types scalaires (int, float, string, bool, null)
  • Construire des chaînes par concaténation et par interpolation

Syntaxe de baseVariables et typesChaînes de caractères

Pourquoi PHP ?

PHP est un langage côté serveur : le code s’exécute sur le serveur, qui renvoie au navigateur du HTML (ou du JSON). Il fait tourner une très grande partie du web, de WordPress à Laravel en passant par Symfony. Ce cours utilise PHP 8.5, une version moderne, typée et rapide.

On peut exécuter un script dans le terminal avec php script.php, ou via un serveur web. Commençons par le terminal.

Un premier script

<?php
// Commentaire sur une ligne
# Autre style de commentaire sur une ligne
/* Commentaire
   sur plusieurs lignes */

echo "Bonjour le monde !\n"; // echo affiche du texte ; \n = retour à la ligne

Deux règles à retenir : un fichier PHP commence par <?php, et chaque instruction se termine par un point-virgule. Dans un fichier qui ne contient que du PHP, on ne ferme pas la balise ?> à la fin (cela évite d’envoyer des espaces parasites).

Les variables

Une variable commence par $. On n’annonce pas son type : il est déduit de la valeur.

<?php
$prenom = "Inès";      // string (chaîne)
$age = 29;             // int (entier)
$taille = 1.68;        // float (nombre décimal)
$estAbonne = true;     // bool (true / false)
$parrain = null;       // null : absence de valeur

var_dump($age);        // int(29)
var_dump($taille);     // float(1.68)
echo gettype($prenom); // string

Les noms sont sensibles à la casse : $age et $Age sont deux variables différentes. On utilise généralement le camelCase ($prixTotal).

Pour une valeur qui ne doit jamais changer, on déclare une constante : const TAUX_TVA = 0.2; (sans $).

Les chaînes de caractères

<?php
$prenom = "Inès";
$ville = 'Lyon';

// Concaténation avec le point
echo 'Bonjour ' . $prenom . ' !' . "\n";

// Interpolation : seules les guillemets doubles remplacent les variables
echo "Bonjour $prenom, tu habites à $ville.\n";
echo 'Bonjour $prenom';            // affiche littéralement : Bonjour $prenom

// Accolades pour lever les ambiguïtés
$produit = "livre";
echo "Deux {$produit}s achetés\n"; // Deux livres achetés

// Quelques fonctions utiles
echo strlen("PHP") . "\n";              // 3 (nombre d'octets)
echo mb_strlen("Inès") . "\n";          // 4 (nombre de caractères, gère les accents)
echo strtoupper("php") . "\n";          // PHP
echo number_format(1234.5, 2, ',', ' '); // 1 234,50

Attention : strlen compte des octets. Avec des accents (UTF-8), utilise les fonctions mb_ comme mb_strlen.

Comparer : == ou === ?

<?php
var_dump(5 == "5");   // bool(true)  : conversion de type avant comparaison
var_dump(5 === "5");  // bool(false) : types différents (int vs string)
var_dump(0 == "a");   // bool(false) depuis PHP 8

== convertit les types avant de comparer, ce qui peut surprendre. === vérifie la valeur et le type : c’est la comparaison à privilégier.

À retenir

  • <?php, point-virgule, echo pour afficher.
  • Variables en $nom, types déduits, var_dump() pour inspecter.
  • Guillemets doubles = interpolation ; point = concaténation.
  • Utilise === par défaut.

Exercices

Les solutions et les tests restent sur le serveur. Dans l'espace étudiant, ton code est exécuté et corrigé, et le tuteur donne des indices avant la solution.

  1. CodeDifficulté 1Sandbox serveur1 indice

    Message de bienvenue

    Déclare $prenom valant "Lina" et $age valant 31 (un entier). Construis ensuite $message par interpolation pour obtenir exactement : Bonjour Lina, tu as 31 ans.

    $prenom = ;
    $age = ;
    $message = ;
  2. CodeDifficulté 1Sandbox serveur2 indices

    Calcul d'un prix TTC

    À partir de $prixHt = 50.0 et de la constante TAUX_TVA = 0.2, calcule $prixTtc (float). Puis crée $affichage avec number_format pour obtenir 60,00 € (virgule décimale, une espace puis le symbole euro).

    const TAUX_TVA = 0.2;
    $prixHt = 50.0;
    $prixTtc = ;
    $affichage = ;
  3. QCMDifficulté 11 indice

    Comparaison stricte

    Que renvoie var_dump(10 === "10"); ?

    • bool(true)
    • bool(false)
    • Une erreur fatale
    • int(10)

Quiz de fin de leçon

  1. Quel est l’opérateur de concaténation en PHP ?

    • +
    • .
    • &
    • ,
  2. Que affiche echo 'Total : $total'; si $total vaut 12 ?

    • Total : 12
    • Total : $total
    • Une erreur
  3. Quelle fonction affiche le type et la valeur d’une variable ?

    • echo
    • var_dump
    • print
    • gettype

La suite du cours

  1. Conditions, match et boucles15 min
  2. Tableaux indexés et associatifs18 min
  3. Fonctions typées et réutilisables18 min
  4. PHP et le web : formulaires et sécurité de base20 min

PHP fondamentaux · Débutant · 2 h 26