Оглавление
Что такое константаКлючевое слово constРазличия между define() и constКраткое резюме
Константы в PHP
Что такое константа
Константа - это имя, связанное с одним фиксированным значением. Как следует из названия, значение константы не может быть изменено во время выполнения PHP-скрипта.
Для объявления константы используется функция
define(). Она принимает два аргумента: имя константы и её значение. Например:По соглашению имена констант записываются в верхнем регистре. В отличие от переменных, перед именем константы не ставится знак доллара (
$).По умолчанию имена констант чувствительны к регистру:
WIDTH и width - это разные константы.В PHP 5 константа могла содержать только простые значения: число, строку или булево значение. Начиная с PHP 7.0, константа может хранить массив:
Как и суперглобальные переменные, константы доступны из любой части скрипта.
Ключевое слово const
В PHP есть альтернативный способ объявления констант, с помощью ключевого слова
const. Синтаксис следующий:Здесь после
const указывается имя константы, затем оператор присваивания и значение. Значение может быть скаляром (число, строка) или массивом.Пример использования:
Массив в качестве значения:
Различия между define() и const
define()- это функция, аconst- языковая конструкция.define()определяет константу во время выполнения (runtime), аconst- на этапе компиляции (compile time).- С помощью
define()можно объявлять константы условно:
С
const так сделать нельзя:define()позволяет использовать выражения для формирования имени константы:
С
const такой подход невозможен.Если не требуется условное объявление или использование выражений, рекомендуется использовать
const для большей наглядности кода.Обратите внимание: с помощью const можно объявлять константы внутри классов.
Краткое резюме
- Константа - это неизменяемое имя со значением, доступным из любой части скрипта.
- С PHP 7 константа может хранить массив.
- Для объявления используйте
define()илиconst. - Используйте
define(), если нужно условное объявление или формирование имени через выражение.

