Clases y Objetos
PHP Manual

Constantes de Clases

Es posible definir valores constantes en función de cada clase manteniéndola invariable. Las constantes se diferencian de variables comunes en que no utilizan el símbolo $ al declararlas o usarlas.

El valor debe ser una expresión constante, no (por ejemplo) una variable, una propiedad, un resultado de una operación matemática, o una llamada a una función.

También es posible para las interfaces tener constantes. Ver la documentación de interfaces para ejemplos.

A partir de PHP 5.3.0, es posible hacer referencia a una clase utilizando una variable. El valor de la variable no puede ser una palabra clave (por ej., self, parent y static).

Ejemplo #1 Definición y uso de una constante

<?php
class MyClass
{
    const 
CONSTANT 'valor constante';

    function 
showConstant() {
        echo  
self::CONSTANT "\n";
    }
}

echo 
MyClass::CONSTANT "\n";

$classname "MyClass";
echo 
$classname::CONSTANT "\n"// A partir de PHP 5.3.0

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

echo 
$class::CONSTANT."\n"// A partir de PHP 5.3.0
?>

Ejemplo #2 Ejemplo de datos estáticos

<?php
class foo {
    
// A partir de PHP 5.3.0
    
const BAR = <<<'EOT'
bar
EOT;
}
?>

A diferencia de heredocs, nowdocs puede ser utilizado en cualquier contexto de datos estáticos.

Nota:

El soporte nowdoc fue agregado en PHP 5.3.0.


Clases y Objetos
PHP Manual