Константы

Последнее обновление: 07.12.2021

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

Оператор const

Для определения константы применяется оператор const, при этом в названии константы знак доллара $ (в отличие от переменных) не используется.

<?php
const PI = 3.14;
echo PI;
?>

Обычно названия констант используют заглавные символы, но это условность.

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

PHP позволяет устанавливать значения констант на основе вычисляемых выражений:

<?php
const PI = 2.1415 + 1;
echo PI;		// 3.1415
?>

Единственное исключение - мы не сможем изменить значение константы. То есть выражение PI = 3.1415;, которое должно изменить значение константы, не срабатает.

Функция define

Также для определения константы может применяться функция define(), которая имеет следующую форму:

define(string $name, string $value)

Параметр $name передает название константы, а параметр $value - ее значение. Значение константы может представлять тип int, float, string, bool, null или массивы.

Например, определим числовую константу:

<?php
define("NUMBER", 22);
echo NUMBER;	// 22
?>

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

Кроме создаваемых программистом констант в PHP имеется еще несколько так называемых "магических" констант, которые есть в языке по умолчанию:

  • __FILE__: хранит полный путь и имя текущего файла

  • __LINE__: хранит текущий номер строки, которую обрабатывает интерпретатор

  • __DIR__: хранит каталог текущего файла

  • __FUNCTION__: название обрабатываемой функции

  • __CLASS__: название текущего класса

  • __TRAIT__: название текущего трейта

  • __METHOD__: название обрабатываемого метода

  • __NAMESPACE__: название текущего пространства имен

  • ::class/span>: полное название текущего класса

Например, выведем текущую выполняемую строку и название файла:

<?php
echo "Cтрока " . __LINE__ . " в файле " . __FILE__;
?>

Проверка существования константы

Чтобы проверить, определена ли константы, мы можем использовать функцию bool defined(string $name). Если константа $name определена, то функция будет возвращать значение true:

<?php
const PI = 3.14; 
if (!defined("PI"))
	define("PI", 3.14);
else
	echo "Константа PI уже определена";
?>
Помощь сайту
Юмани:
410011174743222
Перевод на карту
Номер карты:
4048415020898850