Codebra
29 января 2026 в 19:24

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

В этом уроке мы рассмотрим, что такое константы в PHP и как их использовать. Вы узнаете, чем константы отличаются от переменных, как их объявлять и как обращаться к ним в коде.
📝

Внимание! На этой странице вы найдете материал урока из архивного курса по PHP. Курс был написан в 2024 году одним из первых учеников Codebra и, к моменту написания курса, опытным бэкэнд-разработчиком. К сожалению, курс не был дописан, а его автор молча пропал.

Полный список уроков доступен по тегу Архивный курс по PHP и на странице первого урока.

Константы - это неизменяемые переменные. Мы можем присваивать им любые значения: boolean, array, string, integer, null. Имя константы должно соответствовать тем же правилам объявления, что и для переменных PHP. Правильное имя начинается с буквы или символа подчёркивания, за которым следует любое количество букв, цифр и символов подчёркивания. При этом знак доллара ($) не нужен.

Существуют 2 вида констант:

  • Ключевое слово const - таким способом часто объявляют константу именно в классе PHP (про классы мы поговорим позднее);
  • Функция define - такой способ используют в функциональном программировании.

В функциональном программировании (написание программы без ООП (Объектно-ориентированное программирование)) можете использовать как const, так и define.

💡 Примечание

При создании классов, define не работает (будет ошибка Parse error: syntax error, unexpected token "(", expecting variable in /home/user/scripts/code.php on line 4)

Создадим пару констант:

<?php
    const USER_ONE = 'Alex';
    define('USER_TWO', 'Oleg');
    
    echo USER_ONE; // Распечатает Alex
    echo USER_TWO; // Распечатает Oleg
?>

Как видите ничего сложного. Что в первом варианте присвоили константе значение, что во втором.

Так в чем же отличие const от define?

  • Функция define позволяет создавать регистронезависимые константы. Ее можно использовать в условиях. Выполняется во время выполнения программы (нужно немного больше ресурсов);
  • Ключевое слово const создает регистрозависимую константу. Мы не сможем назвать константу USER_TWO, а вызывать ее по имени user_two.
💡 Примечание

После того как константа определена, её значение не может быть изменено или аннулировано.

Магические константы

Кроме констант, которые создаются программистом, существует отдельная группа магических констант. Пишутся они всегда с двумя нижними подчеркиваниями по обе стороны имени: __КОНСТАНТА__.

  • __LINE__ - выводит номер строки в которой используется;
  • __FILE__ - выводит путь до текущего файла;
  • __DIR__ - выводит путь до директории в которой используется файл.

Их намного больше. Все рассматривать не будем, вы всегда можете найти их в интернете.

<?php
    echo __LINE__; // Распечатает 2
    echo __FILE__; // Распечатает /home/user/scripts/code.php
    echo __DIR__;  // Распечатает /home/user/scripts
?>

Предопределенные константы

Разработчики постарались для нас создать очень удобные константы которые мы можем использовать в своём коде. Константы специфические, я сам их не использую, но знать про них стоит.

  • PHP_VERSION - выводит текущую версию PHP;
  • PHP_OS - выводит OS под которую собиралась программа;
  • PHP_MAXPATHLEN - максимальная длина файловых имён (включая путь), поддерживаемая данной сборкой PHP;
  • PHP_INT_MAX - максимальное целое число доступное в текущей версии PHP;
  • PHP_FLOAT_MAX - максимальное возможное число типа float.

Заключение

Константы нужны только для тех значений, которые не будут изменяться в коде: подключение к БД, система перечислений и т.д. Не пишите их всегда и везде, для начала пишите только переменные, со временем вы поймете где можно ставить константы, а где этого не стоит делать.

В следующем уроке мы разберёмся со строками в PHP.

Задание

  1. Выведите все примеры магический констант.
  2. Выведите все примеры предопределенных констант.
  3. Создайте скрипт, в котором объявляется константа с именем PI и значением 3.14159. Затем напишите код, который рассчитывает и выводит площадь круга с радиусом 5, используя созданную вами константу.
  4. Создайте константу с именем VERSION и значением 1.0.0. Затем используйте для вывода значения этой константы. Текущаю версия: значение константы;
  5. Создайте константу API_KEY со значением 12345, используя флаг нечувствительности к регистру. Затем попробуйте вывести её значение, используя разный регистр в имени.
📝

Переходите к следующему уроку курса, а так же не забудьте посмотреть новый материал на Codebra по тегу PHP.