Constantes prédéfinies

Les constantes prédéfinies sont toujours disponibles . En voici la liste :

__FILE__ (insensible à la casse)

Le nom du fichier qui est actuellement exécuté . Si cette constante est utilisée dans le cadre d' un fichier "inclus " (après utilisation de require( ) ) , alors le nom du fichier inclus est renvoyée , et non le nom du fichier parent .

__LINE__ (insensible à la casse)

Le numéro de la ligne qui est actuellement exécutée . Si cette constante est utilisée dans le cadre d' un fichier "inclus " (après utilisation de require( ) ) , c 'est la position dans le fichier inclus qui est renvoyé .

PHP_VERSION

La chaîne de caractères de présentation de la version du PHP qui est actuellement utilisée . Par exemple ' 4.1.0 ' .

PHP_OS

Nom du système d ' exploitation qui est utilisé par la machine qui fait tourner le PHP . Parmi les valeurs possibles : " AIX" , "Darwin " (MacOS) , "Linux" , "SunOS" , "WIN32" , "WINNT " . Note : cette liste n ' est pas exhaustive .

TRUE

La valeur vraie booléenne , TRUE .

FALSE

La valeur faux booléenne , FALSE .

E_ERROR

Dénote une erreur autre qu' une erreur d'analyse ("parse error" ) qu'il n 'est pas possible de corriger .

E_WARNING

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 alertes-là peuvent être récupérées par le script lui-même . Un exemple serait une expression régulière ( regexp ) invalide dans la fonction ereg( ) .

E_PARSE

L ' analyseur a rencontré une forme syntaxique invalide dans le script . Correction de l ' erreur impossible .

E_NOTICE

Quelque chose s ' est produit , qui peut être ou non une erreur . L ' exécution continue . Par exemple , le cas de guillemets doubles ( " ) non refermés , ou bien la tentative d'accéder à une variable qui n 'est pas encore affectée .

E_ALL

Toutes les constantes E_* rassemblées en une seule . Si vous l' utilisez avec error_reporting( ) , toutes les erreurs et les problèmes que PHP rencontrera seront notifiés .



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 9-2 . Définition de constantes

 
?php

 
define(

 
"CONSTANTE"

 
,

 
"Bonjour

 
le

 
monde

 
.")

 
;

 
echo

 
CONSTANTE

 
;

 
/

 
/

 
affiche

 
"Bonjour

 
le

 
monde

 
.

 
"

 
?



Exemple 9-3 . Utilisation des constantes __FILE__ et __LINE__

 
?php

 
function

 
rapport_erreur(

 
$file

 
,

 
$line

 
,

 
$message

 
)

 
{

 
echo

 
"Une

 
erreur

 
est

 
survenue

 
dans

 
le

 
fichier

 
$file

 
à

 
la

 
ligne

 
$line

 
:

 
$message

 
."

 
;

 
  }

 
rapport_erreur(__FILE__

 
,

 
__LINE__

 
,

 
"Il

 
y

 
a

 
un

 
problème

 
!")

 
;

 
?