Встречаются случаи, когда переменные довольно неудобно использовать для постоянного хранения каких-либо определенных величин, которые не меняются в течение работы программы. Такими величинами могут быть математические константы, пути к файлам, разнообразные пароли и т. д. Как раз для этих целей в 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 бывают двух типов: одни — предопределенные (то есть устанавливаемые самим интерпретатором), а другие определяются программистом. Существуют несколько предопределенных констант.
__FILE__
— хранит имя файла программы, которая выполняется в данный момент.__LINE__
— содержит текущий номер строки, которую обрабатывает в текущий момент интерпретатор. Эта своеобразная "константа" каждый раз меняется по ходу исполнения программы.PHP_VERSION
— версия интерпретатора PHP.PHP_OS
— имя операционной системы, под которой работает PHP.TRUE
илиtrue
— эта константа нам уже знакома и содержит значение "истина".FALSE
илиfalse
— содержит значение "ложь".NULL
илиnull
— содержит значениеNULL
.
Определение констант 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 была ранее определена.
Впрочем, я ни разу не видел программы, которая задействовала бы эту возможность. Но для полноты картины эту функцию все-таки здесь привожу.
Комментарии(0)
Для добавления комментариев надо войти в систему и авторизоватьсяКомментирование статей доступно только для зарегистрированных пользователей:Зарегистрироваться