Константа

Оригинальное название: constant

Коротко

Именованное значение, которое задаётся один раз и не меняется во время работы программы: лимит товаров на странице, адрес API, путь к папке загрузок.

Что такое «Константа»

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

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

Константы в PHP

define('PRICE_LIST_URL', 'https://example.ru/price.xml');  // глобальная
const ITEMS_PER_PAGE = 24;                                  // тоже глобальная

class Order {
    public const STATUS_NEW  = 'new';                       // константа класса
    public const STATUS_PAID = 'paid';
}
echo Order::STATUS_PAID;

define() работает в любом месте кода, в том числе внутри условий. const объявляется на верхнем уровне файла или в классе и обрабатывается на этапе компиляции. Повторно определить константу нельзя: PHP выдаст предупреждение, а значение останется прежним. Для набора связанных значений вроде статусов с PHP 8.1 удобнее перечисления.

Как настроить константы в WordPress

Многие настройки WordPress задаются константами в файле wp-config.php: WP_DEBUG включает режим отладки, DISALLOW_FILE_EDIT убирает редактор тем и плагинов из админки, WP_MEMORY_LIMIT поднимает лимит памяти. Важно место: константы должны стоять выше строки require_once ABSPATH . 'wp-settings.php';. Если определить их ниже, ядро уже загрузится со значениями по умолчанию. В 1С-Битрикс похожую роль играет файл dbconn.php, где, например, задаются BX_UTF и права на создаваемые файлы.

Константа в JavaScript — не значит неизменный объект

Ключевое слово const в JavaScript запрещает переприсвоить имя, но не менять содержимое: в объявленный через const массив можно добавлять элементы. Чтобы запретить изменения самого объекта, применяют Object.freeze(), причём заморозка поверхностная — вложенные объекты остаются изменяемыми.

Обновлено:

Все термины раздела «Backend»

Что будем искать? Например,Продвижение