PHP скрипты

MySQL

Apache

phpMyADmin

4.12: Определение констант в языке PHP

Главная Страница » Книги по PHP » Самоучитель PHP 5 для чайников с примерами » Определение констант

Для определения констант в РНР применяется функция define() - листинг 4.21.

Листинг 4.21. Определение констант.

‹html›
‹head›
‹title›Определение констант‹/title›
‹/head›
‹body›
‹?php
define("ADMIN_NAME", "Пупкин Василий"); // фамилия и имя администратора
define("NUMBER_E", 2.71828); // число "е"
echo ADMIN_NAME; // выводит "Пупкин Василий"
echo " знает, что число e*2 равно "; // выводит строку
echo NUMBER_E*2; // выводит результат умножения
?›
‹/body›
‹/html›

Здесь использовались константы типа String и Double. Также можно определить логические и целочисленные константы. Заметим, что в этом примере константа используется при вычислениях. Однако стоит помнить, что ее значение не может быть изменено после определения. Например, выполнение программы, представленной в листинге 4.22, вызовет ошибку.

Листинг 4.22. Неправильное использование константы.

‹?php
define ("CONSTANT", 4); // определение константы
CONSTANT =2; // попытка изменения значения константы
?›

Константы можно называть как прописными, так и заглавными буквами. Они чувствительны к регистру, то есть, например, ADMIN_NAME и ADMIN_name не эквивалентны. Как вы могли заметить, в нашем примере и во всех последующих, где встречаются константы, мы называем их именами в верхнем регистре, отделяя слова знаком подчеркивания (_). Тем самым мы придерживаемся PHP Coding Standard, о котором шла речь в предыдущей главе.

Заранее забегая вперед, надо сказать, что РНР включает несколько встроенных констант (подробнее о них читайте в разделе «Предопределенные константы»). Поэтому возникает опасность совпадения имен встроенной и вашей константы, что вызовет предупреждения об ошибке. Поэтому будьте внимательны при выборе имени. Чтобы узнать существует ли константа, можно использовать функцию defined(). Она возвращает 1, если константа определена, и 0 - в противном случае. Приведем небольшой пример использования функции defined() - листинг 4.23.

Листинг 4.23. Проверка на существование константы.

‹html›
‹head›
‹title›Проверка на существование константы‹/title›
‹/head›
‹body›
‹?php
// проверка на существование константы
if (defined("CONSTANT"))
{
// вывести сообщение, если константа существует
echo "Константа определена"; }
?›
‹/body›
‹/html›

Поделиться с друзьями