Cours 5 : Les constantes
Qu'est-ce qu'une constante ?
Une constante est un identifiant (un nom), qui représente une valeur simple.

Une constante ne peut jamais être modifiée durant un script.
Le nom d'une constante est sensible à la casse. Par convention elle s'écrit toujours en majuscules.
Définition de constante :
Vous pouvez définir une constante en utilisant la fonction native de PHP:
define() .
Une fois qu'elle est définie, vous ne pouvez pas la modifier ou la détruire.
Vous pouvez la définir n'importe où, et y accéder depuis n'importe quelle fonction.
Vous ne pouvez placer dans une constante, que des données scalaires, c'est-à-dire : les types booléen, entier, double et chaîne de caractère.
Reportez vous au cours sur les Types , pour plus d'informations.
Différences entre les constantes et les variables :
- Les constantes ne commencent pas par le signe $.
- Les constantes peuvent être définies et accessibles à tout endroit du code, globalement (nous verrons ce terme dans un autre chapitre).
- Les constantes ne peuvent pas être redéfinies ou indéfinies une fois qu'elles ont été définies.
- Les constantes ne peuvent contenir que des scalaires.
A quoi ça sert ?
Le fait que celle-ci soit définit dans votre script et qu'elle ne puisse jamais être réattribuée assure une sorte de sécurité.
Par exemple lors d'un traitement sur base de données ou alors dans la réalisation d'un script Multi-langue etc.
Il n'y a pas mieux ici que de vous montrer des exemples concrets d'utilisations :)
CODE PHP
<?php
define("CONSTANTE", "Bonjour le monde.");
echo CONSTANTE; // affiche "Bonjour le monde."
?>
Prenons un autre exemple, un site multi-langue.
Créons deux fichiers distinct francais.php et anglais.php, dans le fichier francais.php entrer le code suivant
CODE PHP
<?php
define("QUESTION", "Comment vous appelez-vous ?");
?>
Dans votre fichier anglais.php entrer le code suivant :
CODE PHP
<?php
define("QUESTION", "What is your name ?");
?>
Une fois ceci effectué nous pouvons à l'aide d'une variable ou d'un cookies afficher la valeur de la constante qui nous interesses.
CODE PHP
<?php
/* Ceci est une variable récupérée dans le cookie d'un visiteur
ou dans une base de données utilisateur par exemple */
$langue = 'france';
if($langue == 'anglais')
{
require("anglais.php");
}else{
require("francais.php");
}
/* Affichera Comment vous appelez-vous ? ou What is your name ? selon la valeur de $langue
Dans notre exemple cela affichera -> Comment vous appelez-vous ? */
echo QUESTION;
?>
Également nous pouvons utilisez les constantes dans un sytèmes "pseudo-frames" en définissant une constante dans l'index et en vérifiant la présence de cette ci dans les pages à inclures, cela empêche l'inclusion de fichier de votre site sans passer par votre index. Voici un exemple. notre fichier index.php
CODE PHP
<?php
define ("INDEX_CHECK", 1);
include("mon_fichier_contenant_mes_ pages.php");
?>
Et dans mes fichiers à inclure
CODE PHP
<?php
if (!defined("INDEX_CHECK")) {
die ("VOUS NE POUVEZ PAS OUVRIR CETTE PAGE DIRECTEMENT, PASSER PAR L'INDEX DU SITE.");
}
?>

Rappelez-vous qu'une constante ne peux jamais être re-déclarée, ré-attribuée ou détruite.