Le PHP définit un certain nombre de constantes et propose des mécanismes pour en définir d'autres durant l'exécution. Les constantes sont comme des variables, à l'exception du fait que leur valeur est définie gâce à la fonction define(), et qu'elle ne peut pas être modifiée par la suite.
Les constantes prédéfinies (toujours disponibles) sont :
Le nom du fichier qui est actuellement exécuté. Si cette constante est utilisée dans le cadre d'un fichier "inclus" (ou require), alors le nom du fichier inclus est renvoyé, et non le nom du fichier parent.
Le numéro de la ligne qui est actuellement exécutée. Si cette constantes est utilisée dans le cadre d'un fichier "inclus" (ou require) c'est la position dans le fichier inclus qui est renvoyé.
La chaîne de caractères de présentation de la version du PHP qui est actuellement utilisée. Par exemple '3.0.8-dev'.
Nom du Système d'exploitation qui est utilisé par la machine qui fait tourner le PHP. Par exemple, 'Linux'.
La valeur TRUE.
La valeur FALSE.
Dénote une erreur autre qu'une "parsing error" qu'il n'est pas possible de corriger.
Dénote un contexte dans lequel le PHP trouve que quelque chose ne va pas. Mais l'exécution se poursuit tout de même. Ces warnings là peuvent être récupérés par le script lui-même. Un exemple serait une regexp invalide dans la fonction ereg().
Le parseur a rencontré une forme syntaxique invalide dans le script. Correction de l'erreur impossible.
Quelquechose s'est produit, qui peut être ou non une erreur. L'exécution continue. Par exemple, le cas d'ouverture de double quote (") non refermé, ou bien la tentative d'accéder à une variable qui n'est pas encore affectée.
Les constantes E_* sont généralement utilisées avec la fonction error_reporting().
Vous pouvez définir d'autres constantes en utilisant la fonction define().
Il est à noter que ce sont des constantes, et non pas des macros comme en C. Seulement les données scalaires peuvent être représentées par des constantes.
Exemple 8-1. Définition de constantes
<?php define("CONSTANT", "Hello world."); echo CONSTANT; // affiche "Hello world." ?> |
Exemple 8-2. Utilisatin des constantes __FILE__ et __LINE__
<?php function report_error($file, $line, $message) { echo "Une erreur a eu lieu dans le fichier $file à la ligne $line: $message."; } report_error(__FILE__,__LINE__, "Y a un problème"); ?> |
![]() |
|
![]() |