Mots-clés PHP
Les mots-clés sont des mots réservés prédéfinis en PHP qui ne peuvent pas être utilisés comme identifiants pour des variables, fonctions ou classes.
Que sont les mots-clés PHP ?
Les mots-clés sont des mots réservés auxquels PHP attribue une signification intégrée. Ils définissent la structure du langage — conditions, boucles, classes, gestion des erreurs, et plus encore — PHP les traite donc différemment des noms que vous inventez vous-même. Cette page liste tous les mots-clés PHP, explique les règles qui les régissent et montre comment les plus courants sont utilisés.
Comme ils sont réservés, vous ne pouvez pas utiliser un mot-clé comme identifiant ordinaire :
<?php
// These all cause a parse error — the words are reserved:
$list = []; // OK: "list" is fine as a variable name in modern PHP...
function for() {} // Parse error: "for" cannot be a function name
class If {} // Parse error: "if" cannot be a class nameDeux règles pratiques en découlent :
- Les mots-clés ne sont pas sensibles à la casse.
if,IFetIfsignifient tous la même chose, doncECHO "hi";fonctionne. (Les noms de variables et les noms que vous définissez, en revanche, sont sensibles à la casse.) - Les constantes comme
true,falseetnullsont aussi réservées. Elles se comportent comme des mots-clés même si elles ressemblent à des valeurs ordinaires.
Liste des mots-clés PHP
Le tableau ci-dessous regroupe les mots-clés par fonction, ce qui les rend beaucoup plus faciles à mémoriser qu'une simple liste plate.
| Catégorie | Mots-clés |
|---|---|
| Conditions | if, else, elseif, endif, switch, case, default, endswitch, match |
| Boucles | for, endfor, foreach, endforeach, while, endwhile, do, break, continue |
| Fonctions & générateurs | function, fn, return, yield, use, static, global |
| Classes & OOP | class, interface, trait, enum, extends, implements, new, clone, abstract, final, public, protected, private, const, var, instanceof, insteadof |
| Espaces de noms & chargement automatique | namespace, use, include, include_once, require, require_once |
| Gestion des erreurs | try, catch, finally, throw |
| Constructions du langage | echo, print, array, list, isset, unset, empty, die, exit, eval |
| Opérateurs logiques | and, or, xor |
| Types & valeurs | true, false, null, callable, int, float, string, bool |
| Autres | as, declare, enddeclare, goto, __halt_compiler |
L'ensemble exact évolue lentement entre les versions — match est arrivé en PHP 8.0, enum en PHP 8.1 et fn (fonctions fléchées) en PHP 7.4 — donc quelques entrées ci-dessus ne sont pas disponibles sur les anciennes versions. Vous pouvez toujours vérifier un mot au moment de l'exécution plutôt que de mémoriser la liste :
<?php
var_dump(function_exists('array')); // bool(false) — "array" is a language construct, not a function
echo PHP_VERSION, "\n"; // tells you which keywords your runtime supportsUtilisation des mots-clés PHP
Les mots-clés se combinent en instructions qui composent chaque programme. L'exemple ci-dessous utilise une condition, une boucle et une définition de fonction ensemble :
<?php
$x = 7;
// Define a conditional statement
if ($x == 5) {
echo "x is equal to 5.";
}
// Define a loop
for ($i = 0; $i < 10; $i++) {
echo $i;
}
// Define a function
function add($a, $b)
{
return $a + $b;
}
?>Ici, le mot-clé if démarre une condition qui vérifie si $x est égal à 5, for construit une boucle qui s'exécute de 0 à 9, et function déclare une routine réutilisable qui retourne la somme de ses deux arguments.
Pièges courants
- Mots réservés comme noms de méthodes ou de constantes. Depuis PHP 7, la plupart des mots-clés sont autorisés comme noms de méthodes, de propriétés et de constantes de classe (par exemple
$object->list()ouFoo::CONSTne passera pas, maisFoo::PRINToui), mais les utiliser nuit à la lisibilité. Préférez un nom plus clair. echoetprintne sont pas des fonctions.echo "a", "b";fonctionne (plusieurs arguments, sans parenthèses) ; ce sont des constructions du langage, vous ne pouvez donc pas les passer comme callbacks.exitetdiesont identiques. Les deux arrêtent le script immédiatement ;dien'est qu'un alias.- Ne confondez pas
and/oravec&&/||. Les formes littérales ont une précédence inférieure, donc$ok = true and false;assignetrue, pasfalse. Utilisez&&et||dans les expressions. Consultez PHP Operators pour la table de précédence.
Sujets connexes
Chaque groupe de mots-clés possède son propre chapitre qui va plus en profondeur :
- PHP Variables et PHP Data Types — comment
var,arrayet les mots-clés de type fonctionnent. - PHP If...Else...Elseif et PHP Loops — les mots-clés de flux de contrôle.
- PHP Functions —
function,return,useet la portée. - PHP Classes and Objects — les mots-clés OOP.
- PHP Constants et PHP Namespaces.
Conclusion
Les mots-clés PHP constituent le vocabulaire fixe du langage : des mots réservés, insensibles à la casse, qui construisent les conditions, les boucles, les classes et la gestion des erreurs. Savoir quels mots sont réservés vous évite de nommer des éléments illégalement, et savoir ce que chacun fait vous permet de lire et d'écrire du PHP avec aisance. En cas de doute, regroupez-les par usage — comme dans le tableau ci-dessus — plutôt que de les mémoriser un par un.