Что такое константа
Константы по принципу работы похожи на переменные, но имеют одно важное отличие - записать какое-либо значение в константу можно только 1 раз, перезаписать это значение уже не получится.
Создать константу можно с помощью функции define() или оператора const:
<?php
const LOGIN = 'admin';
define('PASSWORD', 'qwerty');
echo LOGIN, ' ', PASSWORD;
Как вы заметили, у константы нет значка $ в начале. Чтобы не было путаницы, существует общепринятое соглашение всегда писать константы большими буквами, а слова разделять нижним подчёркиванием, например MY_SUPER_CONSTANT.
Константы используются не так часто, в основном для хранения различных настроек, логинов-паролей и т.п.
Получение значения константы по её названию
С помощью функции constant() мы можем получить значение константы, имя которой лежит в переменной:
define('LOGIN', 'admin');
$const_name = 'LOGIN';
echo constant($const_name); // admin
Встроенные константы
В PHP существует множество встроенных констант, относящихся к различным модулям и библиотекам.
Например, существует набор констант, хранящий в себе различные уровни ошибок: E_ERROR, E_WARNING, E_NOTICE и т.д.
Магические константы
Также в PHP есть 9 магических констант, которые содержат в себе значения, меняющиеся в зависимости от контекста:
- __LINE__ - текущая строка в скрипте
- __FILE__ - полный путь и имя текущего скрипта
- __DIR__ - полный путь к директории, в которой расположен скрипт
Назначение остальных констант вы поймёте позже, когда дойдёте до изучения функций и ООП.
- __FUNCTION__ - имя текущей функции
- __CLASS__ - полный путь и имя текущего скрипта
- __TRAIT__ - имя текущего трейта с пространством имён
- __METHOD__ - имя текущего метода
- __NAMESPACE__ - имя текущего пространства имён
- ClassName::class - имя класса, к которому мы обращаемся, с пространством имён
Задача
Напишите скрипт, который:
1. Создаёт константу PASSWORD со значением ioef84Fe#.
2. Выводит значение константы внутри тега div.
<?php
define('PASSWORD', 'ioef84Fe#');
echo '<div>', PASSWORD, '</div>';