Константы

Для хранения постоянных величин, т.е. таких величин, значение которых не меняется в ходе выполнения скрипта, используются константы. Такими величинами могут быть математические константы, пароли, пути к файлам и тому подобное.

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

Как же тогда можно определить константу? Для этого существует специальная функция define() . Ее синтаксис таков:

define(«Имя_константы»,

«Значение_константы»,

[Нечувствительность_к_регистру])

По умолчанию имена констант чувствительны к регистру. Для каждой константы это можно изменить, указав в качестве значения аргумента Нечувствительность_к_регистру значение True. Существует соглашение, по которому имена констант всегда пишутся в верхнем регистре.

Константам можно присваивать следующие типы данных.

Целые – целые числа или числа без десятичной точки (1, 999, 325812841).

Числа с плавающей точкой — числа, содержащие десятичную точку (1.11, 2.5, .44).

Строки – текстовая или числовая информация. Строковые данные всегда заключаются в кавычки («Hello World», «478-477-5555»).

Имена констант PHP в отличие от переменных не начинаются со знака «$». Имена констант обычно записывают в верхнем регистре. Имена констант могут содержать буквы, цифры и символ подчеркивания, они не могут, однако, начинаться с цифры.

Вывод констант

Следующий фрагмент кода демонстрирует объявление константы, присваивание константе значения и вывод результатов в окне браузера.

<!DOCTYPE html>

<head>

<title>A Web Page</title>

</head>

<body>

<p>

<?php

define(«STRING_CONST»,»My PHP program»);

define(«INTEGER_CONST»,500);

define(«FLOAT_CONST»,2.25);

echo STRING_CONST;

echo INTEGER_CONST;

echo FLOAT_CONST;

?>

</p>

</body>

</html>

В этом примере объявляются значения трех констант: STRING_CONST, INTEGER_CONST и FLOAT_CONST. Затем используется оператор echo для вывода содержимого констант в окне браузера. Кроме вывода в окне браузера, константы можно использовать при выполнении математических и строковых операций PHP.

Кроме того, для получения значения константы можно использовать функцию constant() с именем константы в качестве параметра.

<?php

// определяем константу

// PASSWORD

define("PASSWORD","qwerty");

// определяем регистронезависимую

// константу PI со значением 3.14

define("PI","3.14", True);

// выведем значение константы PASSWORD,

// т.е. qwerty

echo (PASSWORD);

// тоже выведет qwerty

echo constant("PASSWORD");

echo (password);

/* выведет password и предупреждение,

поскольку мы ввели регистрозависимую

константу PASSWORD */

echo pi;

// выведет 3.14, поскольку константа PI

// регистронезависима по определению

?>

Кроме констант, объявляемых пользователем, о которых мы только что рассказали, в PHP существует ряд констант, определяемых самим интерпретатором. Например, константа __FILE__ хранит имя файла программы (и путь к нему), которая выполняется в данный момент, __FUNCTION__ содержит имя функции, __CLASS__ – имя класса, PHP_VERSION – версия интерпретатора PHP. Полный список предопределенных констант можно получить, прочитав руководство по PHP.