Переход к PHP5 - Константы

ОГЛАВЛЕНИЕ

Константы

В классах могут быть объявленны константы. Это является еще одним методом (вместе с final классами и методами) для повышения структурности и удобочитаемости кода.

Пример определения и использования констант:

final class ControlTypes {
const
Textbox = 1;
const
Label = 2;
const
Listbox = 3;
const
Textarea = 4;
const
Link = 7;
const
Button = 6;
}

class
Control {
private
$type;

function
__construct($type) {
$this->type = $type;
}
}

$c = new Control(ControlTypes::Textbox);

К константам невозможно применять модификаторы public, protected, private. Константы всегда public. Обращаться к константам можно только через имя класса, например ControlType::Textbox. Обращения через $this или другой указатель на объект класса не поддерживаются. В константе может быть только значение примитивного типа, т.е. строка или число. Константы наследуются и могут быть переопределены в классах-потомках.

Интересной особенностью является то, что интерфейсы могут содержать константы. Например:

interface myInterface {
const
test = 2;
}