Класови константи

В контекста на даден клас могат да бъдат дефинирани константи, които остават едни и същи и не търпят промяна. Константите се различават от нормалните променливи по това, че не е нужно да използвате символа $, за да ги дефинирате или използвате. Също както при статичните членове, до стойностите на константите не може да се осъществи достъп от инстанцията на обекта (чрез използване на $object::constant).

Стойността трябва да бъде константен израз, т.е. не може да бъде променлива, член на клас, резултат от математическа операция или обръщане към функция.

Пример 19-16. Дефиниране и използване на константа

<?php
class MyClass
{
    const constant = 'стойност на константата';

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

echo MyClass::constant . "\n";

$class = new MyClass();
$class->showConstant();
// echo $class::constant;  не е позволено
?>