Classes e Objetos
PHP Manual

Constantes do Objeto

É possível definir valores constantes em cada classe permanecendo a mesma e imutável. Constantes diferem de variáveis normais no não uso do símbolo $ para declará-las ou usá-las.

O valor deve ser uma expressão constante, não podendo ser (por exemplo) uma variável, um membro de uma classe, o resultado de uma operação matemática, ou uma chamada de função.

É possível também interfaces terem constantes. Veja na documentação de interface os exemplos.

No PHP 5.3.0, é possível referenciar a classe usando uma variável. O valor da variável não pode ser uma palavra chave (e.g. self, parent e static).

Exemplo #1 Definindo e usando uma constante

<?php
class MinhaClasse
{
    const 
constante 'valor constante';

    function 
mostrarConstante() {
        echo  
self::constante "\n";
    }
}

echo 
MinhaClasse::constante "\n";

$classname "MinhaClasse";
echo 
$classname::constante// A partir do PHP 5.3.0

$classe = new MinhaClasse();
$classe->mostrarConstante();

echo 
$classe::constante// A partir do PHP 5.3.0
?>

Exemplo #2 Exemplo com informação estática

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

Diferente de heredocs, nowdocs pode ser usado no contexto de dado estático.

Nota:

Suporte a nowdoc foi adicionado no PHP 5.3.0.


Classes e Objetos
PHP Manual