Класове и обекти (PHP 5)
PHP Manual

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

В контекста на даден клас могат да бъдат дефинирани константи, които остават едни и същи и не търпят промяна. Константите се различават от нормалните променливи по това, че не е нужно да използвате символа $, за да ги дефинирате или използвате.

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

Интерфейсите също могат да имат константи. За да видите някои примери прегледайте документацията за интерфейсите.

От PHP 5.3.0 е възможно да се обърнете към клас посредством променлива. Стойността на променливата не може да бъде ключова дума (напр. self, parent и static не са позволени при динамичните референции към класове.

Example #1 Дефиниране и използване на константа

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

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

echo 
MyClass::constant "\n";

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

$class = new MyClass();
$class->showConstant();
echo 
$class::constant."\n"// От PHP 5.3.0
?>

Example #2 Пример със статични данни

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

За разлика от heredoc, nowdoc може да се използва в контекста на всякакви статични данни.

Забележка: Поддръжката на nowdoc е добавена в PHP 5.3.0.


Класове и обекти (PHP 5)
PHP Manual