PHP: Константы

Иногда в программе встречаются значения, которые никогда не должны меняться. Например:

  • Математическая константа π (пи).
  • Курс доллара на определенную дату.
  • Фиксированная комиссия сервиса.

Такие значения называются константами и их принято отличать от обычных переменных, чтобы не возникало желания их менять.

Пример: число π

<?php

const PI = 3.14;
print_r(PI); // => 3.14

Здесь PI является константой, которая хранит значение числа π. Создание константы отличается от создания переменной: оно начинается с ключевого слова const, а знак доллара перед именем не нужен. Смысл константы в том, что ее значение не меняется в ходе работы программы.

Чем отличается константа от переменной?

Концепт констант распространен в большинстве языков программирования. В PHP константа является отдельной сущностью языка: в отличие от переменной, ее значение нельзя изменить. Попытка определить константу повторно приводит к ошибке:

<?php

const PI = 3.14;
const PI = 3.14159; // Ошибка: константу нельзя определить повторно

При этом константа, как и переменная, может использоваться в любом выражении.

Как оформляются константы

  • Все буквы заглавные
  • Слова разделяются символом подчеркивания _
  • Стиль называется UPPER_SNAKE_CASE (еще его называют SCREAMING_SNAKE_CASE)
<?php

const PI = 3.14;
const MAX_USERS = 100;
const DEFAULT_TIMEOUT = 30;

В PHP много встроенных констант, которые можно использовать в любом месте программы. Вот некоторые из них:

  • PHP_VERSION — текущая версия PHP
  • PHP_MAXPATHLEN — максимальная разрешенная длина имени файла
  • PHP_INT_MAX — максимальное возможное значение целых чисел (integer)

Зачем нужны константы?

Константы делают код понятнее и безопаснее. Они помогают сразу увидеть, какие значения в программе считаются фиксированными и не должны меняться. Это особенно важно при работе с такими данными, как математические и физические постоянные, настройки по умолчанию или фиксированные лимиты. Использование констант снижает риск ошибок: по имени сразу понятно, что перед нами константа, и менять ее не следует. Кроме того, если значение все же нужно будет изменить (например, в настройках), достаточно поменять его в одном месте, и изменение автоматически подхватится во всей программе.

Задание

Создайте константу MAX_LOGIN_ATTEMPTS и запишите в нее число 3 — максимальное количество попыток входа в систему.

Полезное

Команда проекта находится в телеграм-сообществе. Там можно задать любой вопрос и повлиять на проект

Нашли ошибку? Есть что добавить? Пулреквесты приветствуются