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.
Balises et affichage
Section intitulée « Balises et affichage »Le code PHP se place entre <?php et ?>. En dehors de ces balises, tout est renvoyé tel quel.
<?phpecho "Texte envoyé dans la réponse"; // affichage simpleprint "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 tableauCommentaires
Section intitulée « Commentaires »// commentaire sur une ligne# autre commentaire sur une ligne/* commentaire sur plusieurs lignes */Variables et constantes
Section intitulée « Variables et constantes »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; // boolUne constante ne change pas après sa définition :
const TAX_TPS = 0.05;define("TAX_TVQ", 0.09975);Types de base
Section intitulée « Types de base »| Type | Exemple | Note |
|---|---|---|
string | ”Bonjour” | chaîne de caractères |
int | 42 | entier |
float | 9.95 | nombre décimal |
bool | true / false | booléen |
null | null | absence de valeur |
array | [1, 2, 3] | tableau (voir plus bas) |
Opérateurs
Section intitulée « Opérateurs »| Opérateur | Rôle |
|---|---|
+ - * / | addition, soustraction, multiplication, division |
% | reste de la division (modulo) |
** | puissance |
| Opérateur | Rôle |
|---|---|
== | égalité de valeur (avec conversion de type) |
=== | égalité de valeur et de type |
!= / !== | différence (valeur / valeur et type) |
< > <= >= | comparaisons numériques |
| Opérateur | Rôle |
|---|---|
&& || ! | et, ou, non |
. | concaténation de chaînes |
?? | coalescence : valeur de gauche si elle existe, sinon celle de droite |
Chaînes de caractères
Section intitulée « Chaînes de caractères »Les guillemets doubles interpolent les variables ; les simples non.
$name = "Ti-Jean";echo "Bonjour {$name}"; // Bonjour Ti-Jeanecho 'Bonjour {$name}'; // Bonjour {$name}Quelques fonctions utiles (versions mb_ pour le texte accentué) :
mb_strlen($text); // longueurmb_strtoupper($text); // majusculestrim($text); // retire les espaces aux extrémitésstr_replace("a", "b", $t); // remplacementfilter_var($email, FILTER_VALIDATE_EMAIL); // valide un courrielhtmlspecialchars($text); // neutralise le HTML avant affichageConditions
Section intitulée « Conditions »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 absentLe 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}";}$i = 1;while ($i <= 5) { echo "Ligne {$i}"; $i++;}foreach ($menu as $name => $price) { echo "{$name} : {$price} $";}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.
Tableaux
Section intitulée « Tableaux »Tableau indexé (clés numériques automatiques) :
$products = ["sirop", "beurre", "tire"];echo $products[0]; // sirop$products[] = "sucre"; // ajoute à la finTableau associatif (clés nommées) :
$prices = ["sirop" => 14.50, "beurre" => 9.95];echo $prices["sirop"]; // 14.5Tableau de tableaux (utile pour une liste d’enregistrements) :
$catalog = [ ["name" => "sirop", "price" => 14.50], ["name" => "beurre", "price" => 9.95],];echo $catalog[0]["name"]; // siropFonctions courantes : count($array), array_push($array, $value), in_array($value, $array), array_keys($array), sort($array), usort($array, $callback).
Fonctions
Section intitulée « Fonctions »function computeTotal($price, $quantity = 1) { return $price * $quantity;}
echo computeTotal(9.95); // quantity vaut 1 par défautecho 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. returnrenvoie une valeur et termine la fonction.
Portée des variables
Section intitulée « Portée des variables »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 iciInclure des fichiers
Section intitulée « Inclure des fichiers »include __DIR__ . "/includes/header.php"; // avertissement si absentrequire __DIR__ . "/config.php"; // erreur fatale si absent$products = require __DIR__ . "/data/products.php"; // récupère ce que le fichier retourneUtilisez require pour un fichier indispensable, include pour un fichier optionnel. __DIR__ est le dossier du fichier courant : il fiabilise les chemins.