Учебник РНР (перевод Alexandr Pyramidin) Размещено на PHPClub.Net
Назад Вперёд

Глава 8. Константы

Содержание
Синтаксис
Предопределённые константы

Константа это идентификатор (имя) для простого значения. Как следует из названия, это значение не может изменяться в процессе исполнения скрипта. ('Магические константы' __FILE__ и __LINE__ являются исключением из этого правила, но они в действительности не являются константами.) По умолчанию константа чувствительна к регистру символов. По соглашению, идентификаторы констант вводятся в верхнем регистре.

Имя константы соблюдает те же правила, что и любая метка PHP. Правильное имя константы начинается с буквы (латинской) или символа подчёркивания, за которой\-ым может следовать любое количество букв, цифр или символов подчёркивания. Как регулярное выражение, константа должна выражаться так: [a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*

Примечание: Здесь, для наших потребностей, буква это a-z, A-Z и ASCII-символы от 127 до 255 (0x7f-0xff).

Область видимости константы является глобальной - вы можете получать к ней доступ в любой части скрипта, независимо от области видимости.

Синтаксис

Вы можете определить константу функцией define(). После того как константа определена, она не может быть изменена или разопределена/undefined.

Только скалярные данные (boolean, integer, float и string) могут содержаться в константах.

Вы можете получить значение константы, просто специфицировав её имя. В отличие от переменных, вы не должны вводить перед константой символ $. Вы можете также использовать функцию constant() для чтения значения константы, если вы получаете имя константы динамически. Используйте get_defined_constants() для получения списка всех определённых констант.

Примечание: Константы и (глобальные) переменные находятся в разных пространствах имён. Это подразумевает, что, например, TRUE и $TRUE в общем различны.

Если вы используете неопределённую/undefined константу, PHP принимает, что вы обозначаете имя самой константы. Уведомление/notice будет использовано в этом случае. Используйте функцию defined(), если вы хотите знать, установлено значение константа.

Между константами и переменными имеются отличия:

  • Перед именем константы нет знака dollar ( $);

  • Константы могут быть определены только через использование функции define(), но не простым присвоением;

  • Константы могут быть определены, и доступ к ним может быть получен, в любом месте, вне зависимости от правил области видимости переменных;

  • Константы не могут быть переопределены или разопределены после своего определения; и

  • Константы могут вычисляться только в скалярные значения.

Пример 8-1. Определение констант

<?php
define("CONSTANT", "Hello world.");
echo CONSTANT; // выводит "Hello world."
echo Constant; // выводит "Constant" и уведомление.
?>

Назад Оглавление Вперёд
Переменные вне PHP ВверхПредопределённые константы