Предыдущая часть: “PHP: типы переменных”
Константа — это имя или идентификатор простого значения. Ее характеристики:
- не может изменяться во время выполнения скрипта;
- по умолчанию чувствительна к регистру;
- в соответствии с соглашением, идентификаторы констант всегда пишутся в верхнем регистре;
- имя константы начинается с буквы или знака подчеркивания, за которым следует любое количество букв, цифр или знаков подчеркивания;
- если вы определили константу, в дальнейшем ее нельзя будет изменить.
Чтобы определить константу, нужно использовать функцию define(), а чтобы получить ее значение, нужно просто указать ее имя. В отличие от переменных, константу не обязательно обозначать символом $. Можно также использовать функцию constant() для чтения значения константы, чтобы получить ее имя в динамическом режиме.
Функция constant()
Как следует из названия функции, она возвращает значение константы — если нужно получить значение, а ее имя не знаете, т. е. она хранится в переменной или возвращается функцией.
Пример constant()
<?php
define("MINSIZE", 50);
echo MINSIZE;
echo constant("MINSIZE"); // то же, что и предшествующая строка
?>
В константах могут содержаться только данные скалярного типа (булевы, целочисленные, с плавающей точкой и строки).
Константы и переменные
Есть 4 основных различия между константами и переменными:
- Перед константой не нужно писать знак доллара (
$), в то время как перед переменной его нужно писать. - Константы нельзя определить простым присваиванием, их можно определить только с помощью функции
define(). - Константы могут быть определены и доступны в любом месте без учета правил видимости переменных.
- После того как константы были заданы, они не могут быть переопределены или отменены.
Допустимые и недопустимые имена констант
// Допустимые имена констант
define("ONE", "first thing");
define("TWO2", "second thing");
define("THREE_3", "third thing");
define("__THREE__", "third value");
// Недопустимые имена констант
define("2TWO", "second thing");
Магические константы PHP
PHP предоставляет большое количество предопределенных констант для любого запускаемого скрипта.
Выделяют пять магических констант, которые изменяются в зависимости от того, где они используются. Например, значение __LINE__ зависит от строки, в которой она используется в скрипте. Эти специальные константы не чувствительны к регистру.
__LINE__— текущий номер строки в файле.__FILE__— полный путь и имя текущего файла с развёрнутыми симлинками. Если используется внутри подключаемого файла, то возвращается имя данного файла.__DIR__— директория файла. Если используется внутри подключаемого файла, то возвращается директория этого файла. Это эквивалентно вызовуdirname(__FILE__). Возвращаемое имя директории не оканчивается на слеш, за исключением корневой директории.__FUNCTION__— имя функции или{closure}в случае анонимной функции.__CLASS__— имя класса. Это имя содержит название пространства имён, в котором класс был объявлен (например,Foo\Bar). При использовании в методах трейтов__CLASS__является именем класса, в котором эти методы используется.__TRAIT__— имя трейта. Это имя содержит название пространства имён, в котором трейт был объявлен (например,Foo\Bar).__METHOD__— имя метода класса.__NAMESPACE__— имя текущего пространства имён.ClassName::class— полное имя класса.
Читайте также:
- PHP 8.1 уже обещает стать одним из лучших релизов
- 12 привычек эффективного разработчика
- Топ 3 самых популярных языка программирования в 2018 году
Читайте нас в Telegram, VK и Яндекс.Дзен





