Les constantes en PHP
Les constantes en PHP
-
Introduction aux constantes PHP
- Les constantes sont un type de données spécifique en PHP. Contrairement aux variables, elles conservent leur valeur initiale tout au long du déroulement d’un script . Vous ne pouvez pas modifier la valeur d’une constante une fois qu’elle a été définie.
- La constante PHP est un nom ou un identifiant pour une valeur simple. Une valeur constante ne peut pas être modifiée pendant l’exécution du script.
- Par défaut, une constante est sensible à la casse.
- Par convention, les identificateurs de constante sont toujours en majuscules.
- Le nom d’une constante commence par une lettre ou un trait de soulignement, suivi d’un nombre quelconque de lettres, de chiffres ou de traits de soulignement.
- Si vous avez défini une constante, elle ne peut jamais être modifiée ou indéfinie.
- Les constantes PHP peuvent être définies de 2 façons :
- Utilisation de la fonction
define ()
- Utilisation du mot-clé
const
-
La fonction native
define()
- Pour créer une constante, utilisez la fonction
define()
au lieu de l’opérateur d’affectation (=) utilisé pour les variables - La déclaration de constante se prépare au moyen de la fonction native
define()
qui prend trois paramètres dont les deux premiers sont obligatoires.bool define ( string $name, mixed $value [, bool $case_insensitive] )
- Le premier paramètre de la fonction est une chaine de caractères qui définit le nom de la constante. Par convention, toutes les constantes doivent être écrites en majuscules.
- Le second est la valeur que l’on affecte à cette constante. Cela peut-être une chaîne de caractères, un entier, un réel ou bien encore un booléen.
- Le troisième argument est facultatif. C’est un booléen qui indique si l’interpréteur doit se soucier de la casse ou non de la constante.
- La fonction
define()
est une fonction intégrée en PHP qui définit une constante. Les constantes ressemblent à des variables, sauf: - La valeur d’une constante ne peut pas être modifiée une fois qu’elle est définie.
- Les constants ne sont pas précédés par le signe ($) comme les variables.
- Les constantes sont accessibles quelle que soit la portée.
- Les valeurs constantes ne peuvent être que des chaînes et des nombres.
-
define()
et tableau -
Déclaration d’une constante
- Comme tout le monde le sait (ou presque), l’eau bout à une température de 100°C (en théorie). Nous allons donc déclarer une première constante de nom TEMPERATURE_EBULLITION_EAU et qui renferme une information numérique de valeur 100.
-
Constantes prédéfinies en php
- Il existe beaucoup de constantes prédéfinies, en voici quelques unes
-
Le mot clé
const()
- PHP a introduit un mot clé
const
pour créer une constante. Le mot-cléconst
définit les constantes au moment de la compilation. C’est une construction de langage, pas une fonction. Les constantes définies à l’aide du mot-clé const sont sensibles à la casse . - Les constantes déclarées avec le mot-clé
const
doivent être déclarées à des points où elles peuvent être accessibles au morceau de code qui en aura besoin. Cela signifie simplement qu’ils ne sont pas comme ceux déclarés avec la fonctiondefine()
, qui restent globaux, peu importe où ils sont déclarés. - Les constantes de mots clés
const
doivent être déclarées dans la portée globale. Les constantes déclarées avec ce mot clé sont sensibles à la casse. - Syntaxe
- Dans cette syntaxe, vous définissez le nom de la constante après le mot-clé
const
. - Pour affecter une valeur à une constante, vous utilisez l’opérateur d’affectation (
=
) et la valeur constante. - La valeur constante peut être par exemple un nombre, une chaîne ou un tableau.
- Exemple
- Avec cette déclaration, exemple_constest maintenant une constante avec la valeur 536 qui ne peut pas changer.
-
Comment utiliser la fonction
constant()
-
Définir une constante :
- Avant d’utiliser
constant()
, vous devez définir une constante. Vous pouvez le faire en utilisant la fonctiondefine()
ou en utilisant le mot-cléconst
(à partir de PHP 5.3) pour définir une constante. - Pour les constantes déclarées avec la fonction
define()
et le mot-cléconst
, leurs valeurs peuvent être retournées à l’aide de la fonctionconstant()
en passant le nom de la constante entre guillemets en argument. Toute constante peut être utilisée uniquement par son nom. -
À l’aide de define() :
-
À l’aide de const :
-
Utilisation de
constant()
pour obtenir la valeur de la constante : - Vous pouvez utiliser
constant()
pour obtenir la valeur de la constante précédemment définie. Voici comment vous pouvez l’utiliser : - Dans cet exemple, la fonction constant(‘MA_CONSTANTE‘) retournera la valeur associée à la constante ‘MA_CONSTANTE‘, c’est-à-dire ‘Valeur de ma constante’, et cette valeur sera stockée dans la variable $valeur.
- Gardez à l’esprit que le nom de la constante doit être une chaîne (c’est pourquoi nous utilisons des guillemets simples autour du nom de la constante dans constant(‘MA_CONSTANTE’)).
- Si la constante n’existe pas,
constant()
renverra null. Assurez-vous donc que la constante que vous essayez d’accéder a été définie auparavant. -
Exemple 2
Exemple
<?php
define("PI", 3.14);
echo constant("PI");
?>
-
Exemple 01
<?php
define('LANGUAGES', array(
'C',
'C++',
'JAVA',
'PYTHON'
));
echo LANGUAGES[3];
?>
Exemple 02
<?php
define('ANIMALS', array(
'chien',
'chat',
'oiseaux'
));
echo ANIMALS[1]; // affiche "chat"
?>
<?php
// Déclaration de la constante
define('TEMPERATURE_EBULLITION_EAU',100);
// Affichage de sa valeur
echo 'L\'eau bout à ', TEMPERATURE_EBULLITION_EAU ,'°C';
?>
Constante | Description | Exemple |
---|---|---|
__FILE__ | Le chemin complet de la page en cours |
|
__DIR__ | Contient le nom du dossier dans lequel est le fichier |
|
__LINE__ | Le numéro de la ligne de la constante |
|
PHP_VERSION | La version de l’analyseur PHP |
|
PHP_OS | Le système d’exploitation du serveur |
|
__FUNCTION__ | Contient le nom de la fonction actuellement définie ou {closure} pour les fonctions anonymes |
|
const CONSTANT_NAME = value;
const exemple_const = 536;
define('MA_CONSTANTE', 'Valeur de ma constante');
const MA_CONSTANTE = 'Valeur de ma constante';
$valeur = constant('MA_CONSTANTE');
echo $valeur;