Константы в PHP
Константой называется именованная величина, которая не изменяется в процессе выполнения программы.
В отличие от переменной, вы не можете изменить значение константы, которое было ей присвоено при её объявлении. Константы удобно использовать для хранения значений, которые не должны изменяться во время работы программы. Константы могут содержать только скалярные данные (логического, целого,
плавающего и строкового типов).
В РНР константы определяются функцией define(). Эта функция имеет следующий формат:
define ($name, $value, $case_sen), где:
$name - имя константы;
$value - значение константы;
$case_sen - необязательный параметр логического типа,
указывающий, следует ли учитывать регистр букв (true) или нет (false).
Пример определения и использования констант в PHP:
<?php
define("pi",3.14,true);
echo pi;
// Выводит 3.14
?>
Если параметр $case_sen равен true, то интерпретатор будет учитывать регистр символов при работе с константой. Обратите внимание, что константы используются без предваряющего знака $.
Различия между константами и переменными:
-
У констант нет приставки в виде знака доллара ($);
-
Константы можно определить только с помощью функции define(), а не присваиванием значения;
-
Константы могут быть определены и доступны в любом месте без учета области видимости;
-
Константы не могут быть определены или аннулированы после первоначального объявления; и
-
Константы могут иметь только скалярные значения.
Проверка существования констант
Для проверки существования константы можно использовать функцию defined(). Данная функция возвращает true, если константа объявлена. Приведем пример:
<?php
// Объявляем константу pi
define("pi",3.14,true);
if (defined("pi")==true) echo "Константа pi объявлена!";
// Скрипт выведет 'Константа pi объявлена!'
?>
Стандартные константы PHP
В PHP существуют следующие предопределенные константы:
PHP предоставляет большой список предопределенных констант для каждого выполняемого скрипта. Многие из этих констант определяются различными модулями и будут присутствовать только в том случае, если эти модули доступны в результате динамической загрузки или в результате статической сборки.
Есть пять предопределенных констант, которые меняют свое значение в зависимости от контекста, в котором они используются. Например, константа __LINE__ зависит от строки в скрипте, на которой эта константа указана. Специальные константы нечувствительны к регистру и их список приведен ниже:
Имя |
Описание |
__LINE__
|
Текущая строка в файле.
|
__FILE__
|
Полный путь и имя текущего файла.
|
__DIR__
|
The directory of the file. If used inside an include, the directory of the included file is returned. This is equivalent to dirname(__FILE__). This directory name does not have a trailing slash unless it is the root directory.
|
__FUNCTION__
|
Имя функции. (Добавлена в PHP 4.3.0.)
|
__CLASS__
|
Имя класса. (Добавлена в PHP 4.3.0.)
|
__TRAIT__
|
The trait name. The trait name includes the namespace it was declared in (e.g. Foo\Bar).
|
__METHOD__
|
Имя метода класса. (Добавлена в PHP 5.0.0)
|
__NAMESPACE__
|
The name of the current namespace.
|