Привет. Сегодня решил написать о константах в PHP. Расскажу как константы работают, какие чаще всего применяются и бывают .

Что такое константы в контексте PHP?

Константы — это по сути переменные у которых нельзя переопределить значение. Т.е после указания их значения вы больше не сможете  его менять по ходу выполнения скрипта. Они как правило пишутся в верхнем регистре и в названии конкретно отражают хранимую в них информацию.

В PHP существует 2 разновидности констант:

  1. Обычные (задаются программистом)
  2. Предопределенные (задаются интерпретатором)

Обычные константы

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

define('PI',3.1415);

Создание константы происходит с помощью встроенной конструкции define ('Имя константы','Значение константы').

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

<?php
define('PI',3.1415);
define('PI',3.14);
echo PI; // выведет 3.1415
?>

Для того чтобы проверить существование константы в языке предусмотрена функция defined («CONST_NAME»).

<?php
define("PI",31415);
if(defined("PI")){
    echo 'Константа существует';
}else{
    echo 'Константа не определена';
}
?>

Предопределенные константы

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

Вот самые часто используемые предопределенные константы:

  • __FILE__ — хранит имя выполняемого на данный момент скрипта.
  • __FUNCTUIN__ — имя текущей функции.
  • __CLASS__ — имя текущего класса.
  • PHP_VERSION — содержит версию интерпретатора PHP.
  • TRUE, FALSE, NULL — содержат в себе значения соответствующие своему названию.

Для примера работы таких констант посмотрим на использование одной из них — __FUNCTION__ :

<?php
function abc(){
    return __FUNCTION__;
}
function xyz(){
    return abc();
}
echo xyz(); //Выведет abc
?>

Как можно видеть из примера константа __function__ вернула имя функции в которой она была первоначально вызвана — abc ().

И да, константу невозможно удалить как обычную переменную функцией unset (), она существует от начала и до конца выполнения программы.

На этом все, желаю успешной практики и хорошего настроения. До скорого.

dmkweb.ru Права на контент защищены.