« Programmation PHP/Constantes » : différence entre les versions

Contenu supprimé Contenu ajouté
+NavTitre + ortho
(:Julien:) (discussion | contributions)
Aucun résumé des modifications
Ligne 6 :
= Généralités =
== Nom ==
Le nom d'une constante suit les mêmes règles que celles pour les variables, mis à part que le nom d'une constante ne commencen'est pas précédé par $.
<source lang="php">
<?php
Ligne 17 :
0CONSTANTE
 
?>
</source>
 
Ligne 24 :
 
La syntaxe de <tt>define<tt> est la suivante :
define( ''chaine_de_caractere'', ''valeur'' );
La chaîne de caractère est le nom de la constante, pouvant contenir lettre, tiret, [[w:underscore|underscore]], et chiffre (la première lettre de la chaîne est une lettre dans [a-zA-Z]).
 
== Utilisation ==
L'utilisation est similaire à celle dedes la variablevariables.
 
<source lang="php">
Ligne 34 :
define("CONSTANTE", "Texte ici");
echo CONSTANTE; // affiche "Texte ici"
?>
</source>
 
En PHP5, la déclaration de constantes à l'intérieur d'une classe peut se faire grâceavec aule mot-clé '''const''' de la façon suivante :
 
<source lang="php">
Ligne 54 :
</source>
 
== Informations supplémentaires ==
=== Type de données ===
Une constante, si elle peut être de type booléen, entier, nombre à virgule flottante ou chaîne de caractère, ne peut en aucun cas être un tableau ou un objet. Elle est donc forcément [[w:Scalaire#Informatique scalaire|Scalaire]].
<source lang="php">
Ligne 61 :
// Le code suivant va générer une erreur
define ("CONSTANTE", array("a", "b", "c"));
echo CONSTANTE;
?>
</source>
 
=== Unicité de la déclaration ===
La redéclaration d'une constante portant le même nom est ignorée, et la valeur de la première déclaration reste valable.
<source lang="php">
Ligne 75 :
</source>
 
=== Conflit de nom ===
Il existe des constantes intégrées à PHP, or on ne peut créer une constante portant leurs noms, cela entraînerait une erreur.
En général, évitez la syntaxe suivante pour le nom d'une variable ou d'une constante :
__''NOM''__
 
=== Constantes intégrées ===
Il en existe de deux types :
*fixes en valeur
*dont la valeur est dynamique
 
==== Constantes intégrées à valeur fixe ====
Les constantes suivantes ont des valeurs fixes, comme celles définies avec <tt>define</tt> :
*<tt>TRUE</tt> : vrai (booléen).
Ligne 92 :
*<tt>PHP_OS</tt> : nom du système d'exploitation du serveur exécutant le script.
 
==== Constantes intégrées à valeur dynamique ====
Les constantes parfois dites "''magiques''":
*<tt>__FILE__</tt> : retourne le chemin complet (exemple: /la/ou/est/le/fichier.php) du fichier qui est actuellement exécuté par le serveur.
Ligne 119 :
Qui affichera:
<pre>
Fichier: /home/ze/toto.php << Variable donc suivant ou est votre fichier :)
Ligne: 3
Fonction: foo
Ligne 126 :
Classe: test
</pre>
L'affichage de la première ligne, par exemple, dépend d'où est situé le fichier dans l'arborescence des fichiers.
 
== Liens externes ==