Константы PHP

Встречаются случаи, когда переменные довольно неудобно использовать для постоянного хранения каких-либо определенных величин, которые не меняются в течение работы программы. Такими величинами могут быть математические константы, пути к файлам, разнообразные пароли и т. д. Как раз для этих целей в PHP предусмотрена такая конструкция, как константа. Константа PHP отличается от переменной PHP тем, что, во-первых, ей нигде в программе нельзя присвоить значение больше одного раза, а во-вторых, ее имя не предваряется знаком $, как это делается для переменных.

Например:

<?php
// Предположим, определена константа M_PI, равная 3.14
$s=2*5*M_PI; // использование константы
echo "Это число PI"; // выведет "Это число PI"
echo '<BR>';
echo "Это число ".M_PI; // выведет "Это число 3.14"
?>

В окне веб-браузера это будет выглядеть ТАК.

То, что не надо писать "доллар" перед именем константы — это, конечно хорошо. Однако, как мы можем видеть из примера, есть и минусы: мы уже не можем использовать имя константы непосредственно в текстовой строке.

Предопределенные константы PHP

Константы PHP бывают двух типов: одни — предопределенные (то есть устанавливаемые самим интерпретатором), а другие определяются программистом. Существуют несколько предопределенных констант.

Определение констант PHP

Вы можете определить и свои собственные, новые константы. Делается это при помощи оператора define(), очень похожего на функцию. Вот как она выглядит (за одно мы попрактикуемся в наших условных обозначениях для описания синтаксиса вызова функции):

void define(string $name, string $value, bool $case_sen=true);

Определяет новую константу с именем, переданным в $name, и значением $value. Если необязательный параметр $case_sen равен true, то в дальнейшем в программе регистр букв константы учитывается, в противном случае — не учитывается (по умолчанию, как мы видим, регистр учитывается). Созданная константа не может быть уничтожена или переопределена.

Например:

<?php
define("pi",3.14);
define("str","Test string");
echo pi;
echo '<br>';
echo str;
?>

В окне веб-браузера это будет выглядеть ТАК.

Обратите внимание на кавычки, которыми должно быть обрамлено имя константы при ее определении. А также на то, что нельзя дважды определять константу с одним и тем же именем — это породит ошибку во время выполнения программы.

Проверка существования константы PHP

В PHP существует также функция, которая проверяет, существует ли (была ли определена ранее) константа с указанным именем. Вот она.

bool defined(string $name)

Возвращает true, если константа с именем $name была ранее определена.
Впрочем, я ни разу не видел программы, которая задействовала бы эту возможность. Но для полноты картины эту функцию все-таки здесь привожу.

назадвверхвперед
Rambler's Top100