define

(PHP 4, PHP 5, PHP 7)

defineDéfinit une constante

Description

define ( string $name , mixed $value [, bool $case_insensitive = FALSE ] ) : bool

Définit une constante à l'exécution.

Liste de paramètres

name

Le nom de la constante.

Note:

Il est possible de définir avec define() des constantes avec des noms réservés ou même invalide, où leur valeur peuvent (seulement) être récupéré avec la fonction constant(). Cependant, faire ceci n'est pas recommandé.

value

La valeur de la constante. En PHP 5, value doit être une valeur scalaire (entier, nombre décimal, chaîne de caractères, booléen, ou NULL) En PHP 7, les valeurs tableau sont aussi autorisé. Il est techniquement possible de définir des constantes de type ressource, mais cela est fortement déconseillé, et peut causer des comportements inattendus.

Avertissement

Bien qu'il est techniquement possible de définir des constantes de type ressource, ceci est déconseillé et peut causer des comportements inattendus.

case_insensitive

S'il vaut TRUE, le nom de la constante sera insensible à la casse : CONSTANT et Constant représentent des valeurs identiques.

Avertissement

Définir des constantes insensible à la casse est obsolète à partir de PHP 7.3.0.

Note:

Les constantes insensibles à la casse sont stockées en minuscule.

Valeurs de retour

Cette fonction retourne TRUE en cas de succès ou FALSE si une erreur survient.

Historique

Version Description
7.3.0 case_insensitive est obsolète et sera supprimée dans la version 8.0.0.
7.0.0 Les valeurs array sont autorisées.

Exemples

Exemple #1 Définition d'une constante

<?php
define
("CONSTANT""Bonjour le monde.");
echo 
CONSTANT// affiche "Bonjour le monde."
echo Constant// affiche "Constant" et émet une alerte

define("GREETING""Salut toi."true);
echo 
GREETING// affiche "Salut toi."
echo Greeting// affiche "Salut toi."

// Fonctionne depuis PHP 7
define('ANIMALS', array(
    
'chien',
    
'chat',
    
'oiseaux'
));
echo 
ANIMALS[1]; // affiche "chat"

?>

Exemple #2 Constantes avec des Noms Réservés

Cet exemple illustre la possibilité de définir une constante avec le même nom qu'une constante magique. Puisque le comportement qui en résout porte à confusion, cette pratique n'est pas recommandée.

<?php
var_dump
(defined('__LINE__'));
var_dump(define('__LINE__''test'));
var_dump(constant('__LINE__'));
var_dump(__LINE__);
?>

L'exemple ci-dessus va afficher :

bool(false)
bool(true)
string(4) "test"
int(5)

Voir aussi