Рубрики
Уроки PHP

Уроки PHP. Константы

Урок посвящен способам хранения постоянных величин (констант) в скрипте PHP.

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

define("Имя_константы", "Значение_константы", [Нечувствительность_к_регистру])


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

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

<?php
// определяем константу PASSWORD
define("PASSWORD","qwerty"); 

// определяем регистронезависимую 
// константу PI со значением 3.14
define("PI","3.14", True);

// выведем значение константы PASSWORD, т.е. qwerty  
echo (PASSWORD); 

// тоже выведет qwerty  
echo constant("PASSWORD");

/* выведет password и предупреждение, 
поскольку мы ввели регистрозависимую
константу PASSWORD */
echo (password);

// выведет 3.14, поскольку константа PI 
// регистронезависима по определению
echo pi;    
?>

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

Контрольные вопросы и задания

  1. Протестрируйте приведенный скрипт изменив значения и названия констант
  2. Добавьте в скрипт новую константу
  3. Какое сообщение будет получено при попытке присвоения значения константе?

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *