Constantes de classe

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.

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.

Il est aussi possible pour les interfaces d'avoir des constantes. Regardez la documentation des interfaces pour quelques exemples.

Depuis PHP 5.3.0, il est possible de r�f�rencer une classe en utilisant une variable. La valeur de la variable ne peut �tre un mot cl� (e.g. self, parent et static).

Exemple #1 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";

$classname "MyClass";
echo 
$classname::constant "\n"// Depuis PHP 5.3.0

$class = new MyClass();
$class->showConstant();

echo 
$class::constant."\n"// Depuis PHP 5.3.0
?>

Exemple #2 Exemple de donn�es statiques

<?php
class foo {
    
// Depuis PHP 5.3.0
    
const bar = <<<'EOT'
bar
EOT;
}
?>

Contrairement � heredocs, nowdocs peut �tre utilis� dans n'importe quel contexte de donn�es statiques.

Note: Le support de Nowdoc a �t� ajout� en PHP 5.3.0.