Il est possible de définir des valeurs constantes à l'intérieur d'une classe, qui ne seront pas modifiables. Les constantes diffèrent des variables normales du fait qu'on n'utilise pas le symbole $ pour les déclarer ou les utiliser. Tout comme pour les membres statiques , on ne peut pas accéder aux valeurs constantes depuis une instance de l'objet (en utilisant $object::constant ).
La valeur doit être une expression constante, non (par exemple) une variable, un membre de la classe, le résultat d'une opération mathématique ou un appel de fonction.
Exemple 19.17. Définition et utilisation d'une constante de classe
<?php
class
MyClass
{
const
constant
=
'valeur constante'
;
function
showConstant
() {
echo
self
::
constant
.
"\n"
;
}
}
echo
MyClass
::
constant
.
"\n"
;
$class
= new
MyClass
();
$class
->
showConstant
();
// echo $class::constant; n'est pas autorisé
?>