Aller au contenu

Référence : bases de PHP

Aide-mémoire concis de la syntaxe PHP utile pour ce cours. À consulter pendant les exercices. Les identifiants sont en anglais ; gardez cette convention dans votre propre code.

Le code PHP se place entre <?php et ?>. En dehors de ces balises, tout est renvoyé tel quel.

<?php
echo "Texte envoyé dans la réponse"; // affichage simple
print "Autre affichage"; // équivalent, retourne 1
?>

Pour inspecter une valeur pendant le débogage :

var_dump($value); // type + contenu détaillé
print_r($array); // structure lisible d'un tableau
// commentaire sur une ligne
# autre commentaire sur une ligne
/* commentaire
sur plusieurs lignes */

Une variable commence par $. PHP est à typage dynamique : le type est déduit de la valeur et peut changer.

$name = "Ti-Jean"; // string
$age = 42; // int
$price = 9.95; // float
$isOpen = true; // bool

Une constante ne change pas après sa définition :

const TAX_TPS = 0.05;
define("TAX_TVQ", 0.09975);
TypeExempleNote
string”Bonjour”chaîne de caractères
int42entier
float9.95nombre décimal
booltrue / falsebooléen
nullnullabsence de valeur
array[1, 2, 3]tableau (voir plus bas)
OpérateurRôle
+ - * /addition, soustraction, multiplication, division
%reste de la division (modulo)
**puissance

Les guillemets doubles interpolent les variables ; les simples non.

$name = "Ti-Jean";
echo "Bonjour {$name}"; // Bonjour Ti-Jean
echo 'Bonjour {$name}'; // Bonjour {$name}

Quelques fonctions utiles (versions mb_ pour le texte accentué) :

mb_strlen($text); // longueur
mb_strtoupper($text); // majuscules
trim($text); // retire les espaces aux extrémités
str_replace("a", "b", $t); // remplacement
filter_var($email, FILTER_VALIDATE_EMAIL); // valide un courriel
htmlspecialchars($text); // neutralise le HTML avant affichage
if ($age >= 18) {
echo "Majeur";
} elseif ($age >= 0) {
echo "Mineur";
} else {
echo "Âge invalide";
}

Opérateur ternaire et coalescence, pour les cas simples :

$status = $age >= 18 ? "majeur" : "mineur";
$firstName = $input ?? "cliente ou client"; // valeur par défaut si absent

Le switch, quand on compare une même variable à plusieurs valeurs :

switch ($day) {
case "samedi":
case "dimanche":
echo "Fin de semaine";
break;
default:
echo "Jour de semaine";
}
for ($i = 1; $i <= 5; $i++) {
echo "Ligne {$i}";
}

foreach est le choix par défaut pour parcourir un tableau. for convient quand on a besoin d’un compteur ; while quand la condition d’arrêt n’est pas un simple comptage.

Tableau indexé (clés numériques automatiques) :

$products = ["sirop", "beurre", "tire"];
echo $products[0]; // sirop
$products[] = "sucre"; // ajoute à la fin

Tableau associatif (clés nommées) :

$prices = ["sirop" => 14.50, "beurre" => 9.95];
echo $prices["sirop"]; // 14.5

Tableau de tableaux (utile pour une liste d’enregistrements) :

$catalog = [
["name" => "sirop", "price" => 14.50],
["name" => "beurre", "price" => 9.95],
];
echo $catalog[0]["name"]; // sirop

Fonctions courantes : count($array), array_push($array, $value), in_array($value, $array), array_keys($array), sort($array), usort($array, $callback).

function computeTotal($price, $quantity = 1) {
return $price * $quantity;
}
echo computeTotal(9.95); // quantity vaut 1 par défaut
echo computeTotal(9.95, 3);
  • Les paramètres peuvent avoir une valeur par défaut, ce qui les rend optionnels.
  • On peut préciser les types : function computeTotal(float $price, int $quantity = 1): float.
  • return renvoie une valeur et termine la fonction.

Une variable déclarée dans une fonction n’existe pas à l’extérieur, et inversement.

function demo() {
$local = 10; // existe seulement dans demo()
}
demo();
echo $local; // erreur : $local n'existe pas ici
include __DIR__ . "/includes/header.php"; // avertissement si absent
require __DIR__ . "/config.php"; // erreur fatale si absent
$products = require __DIR__ . "/data/products.php"; // récupère ce que le fichier retourne

Utilisez require pour un fichier indispensable, include pour un fichier optionnel. __DIR__ est le dossier du fichier courant : il fiabilise les chemins.