Liste des mots réservés en PHP – PHP 7.4

Qu’est-ce qu’un mot réservé en PHP ?

PHP possède dans son langage certains mots qui possèdent un sens spécial. Ce sont des mots comme if (qui sert à la création de condition) ou function (qui sert à la création de fonction) ou encore throw (qui sert dans la gestion des exceptions).

Ces mots sont dits “réservés” puisqu’on ne peut pas les utiliser comme identifiants dans notre code pour définir certains de nos éléments dans nos scripts (variable, fonction, etc.).

Dans la spécification officielle, PHP classe ces mots réservés en 4 listes différentes : liste de mots clefs, classes prédéfinies, constantes prédéfinies et autre mots clefs réservés. Nous allons reprendre cette méthode de classement ici.

 

Liste des mots clefs réservés en PHP

Liste de mots clefs

Ces mots ont un sens spécial en PHP et ne peuvent pas être utilisés comme nom de constante, nom de classes, nom de fonctions ou nom de méthodes.

Notez que PHP nous autorise a utiliser ces mots clefs comme nom de variables. Nous essaierons cependant généralement dans la mesure du possible d’éviter d’utiliser ces mots comme nom de variable pour éviter des confusions à la lecture du code.

Depuis PHP 7.0.0, ces mots clés sont également autorisés comme propriété, constante et noms de méthodes dans les classes, interfaces et les traits à l’exception notable du mot clef class qui ne doit pas être utilisé comme nom de constante. Une nouvelle fois, nous essaierons de ne pas utiliser ces mots comme identifiants dans nos scripts pour éviter des confusions.

  • __halt_compiler()
  • abstract
  • and
  • array()
  • as
  • break
  • callable
  • case
  • catch
  • class
  • clone
  • const
  • continue
  • declare
  • default
  • die()
  • do
  • echo
  • else
  • elseif
  • empty()
  • enddeclare
  • endfor
  • endforeach
  • endif
  • endswitch
  • eval()
  • exit()
  • extends
  • final
  • finally
  • for
  • foreach
  • function
  • global
  • goto
  • if
  • implements
  • include
  • include_once
  • instanceof
  • insteadof
  • interface
  • isset()
  • list()
  • namespace
  • new
  • or
  • print
  • private
  • protected
  • public
  • require
  • require_once
  • return
  • static
  • switch
  • throw
  • trait
  • try
  • unset()
  • use
  • var
  • while
  • xor
  • yield
  • yield from
  • __CLASS__
  • __DIR__
  • __FILE__
  • __FUNCTION__
  • __LINE__
  • __METHOD__
  • __NAMESPACE__
  • __TRAIT__

Autres mots clefs réservés

Ces mots ne peuvent pas être utilisés comme nom de classe, d’interface ou de trait, et il est également interdit de les utiliser dans les espaces de noms.

  • bool
  • false
  • float
  • int
  • iterable
  • null
  • object
  • string
  • true
  • void

En plus de cela, PHP indique une liste de mots qui pourront être potentiellement réservés dans le futur. On essaiera donc également d’éviter d’utiliser ces mots pour ne pas introduire potentiellement des problèmes dans nos scripts dans le futur. Ces mots sont les suivants :

  • resource
  • mixed
  • numeric

Classes prédéfinies

PHP utilise ces noms pour définir des classes dans le coeur du langage. On ne peut donc pas les utiliser pour définir nos propres classes.

  • Directory
  • stdClass
  • __PHP_incomplete_Class
  • Exception
  • ErrorException
  • php_user_filter
  • Closure
  • Generator
  • ArithmeticError
  • AssertionError
  • DivisionByZeroError
  • Error
  • Throwable
  • ParseError
  • TypeError

Les identifiants suivants ne devraient pas non plus être utilisés en tant que nom de classe à cause de leur rôle particulier dans les classes justement :

  • self
  • static
  • parent

Constantes prédéfinies

PHP utilise ces noms pour définir des constantes intégrées au coeur du langage. On n’a donc pas le droit d’utiliser ces identifiants pour définir des constantes.

  • PHP_VERSION
  • PHP_MAJOR_VERSION
  • PHP_MINOR_VERSION
  • PHP_RELEASE_VERSION
  • PHP_VERSION_ID
  • PHP_EXTRA_VERSION
  • PHP_ZTS
  • PHP_DEBUG
  • PHP_MAXPATHLEN
  • PHP_OS
  • PHP_OS_FAMILY
  • PHP_SAPI
  • PHP_EOL
  • PHP_INT_MAX
  • PHP_INT_MIN
  • PHP_INT_SIZE
  • PHP_FLOAT_DIG
  • PHP_FLOAT_EPSILON
  • PHP_FLOAT_MIN
  • PHP_FLOTA_MAX
  • DEFAULT_INCLUDE_PATH
  • PEAR_INSTALL_DIR
  • PEAR_EXTENSION_DIR
  • PHP_PREFIX
  • PHP_BINDIR
  • PHP_BINARY
  • PHP_MANDIR
  • PHP_LIBDIR
  • PHP_DATADIR
  • PHP_SYSCONFDIR
  • PHP_LOCALSTATEDIR
  • PHP_CONFIG_FILE_PATH
  • PHP_CONFIG_FILE_SCAN_DIR
  • PHP_SHLIB_SUFFIX
  • PHP_FD_SETSIZE
  • E_ERROR
  • E_WARNING
  • E_PARSE
  • E_NOTICE
  • E_CORE_ERROR
  • E_CORE_WARNING
  • E_COMPILE_ERORR
  • E_COMPILE_WARNING
  • E_USER_ERROR
  • E_USER_WARNING
  • E_USER_NOTICE
  • E_RECOVERABLE_ERROR
  • E_DEPRECATED
  • E_USER_DEPRECATED
  • E_ALL
  • E_STRICT
  • __COMPILER_HALT_OFFSET__
  • TRUE
  • FALSE
  • NULL

Laisser un commentaire

© Pierre Giraud - Toute reproduction interdite