ресурс для начинающих веб-разработчиков
комплексные веб-услуги по созданию сайтов

Справочный материал по основным языкам программирования и верстки сайтов.

Готовая методика создания простых и сложных динамичных сайтов, с использованием PHP и MySQL.

Использование веб-редактора Adobe Dreamweaver в разработке сайтов.

Использование графических редакторов Adobe Flash, Adobe Photoshop, Adobe Fireworks в подготовке веб-графики.

Разработка веб-сайтов под "ключ".

Разработка отдельных фрагментов сайтов, консультации по вопросам верстки веб-страниц и веб-программирования.

Константы PHP. Определение констант 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 бывают двух типов: одни — предопределенные (то есть устанавливаемые самим интерпретатором), а другие определяются программистом. Существуют несколько предопределенных констант.

  • __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 была ранее определена.

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