0 знаков
5. Константы в PHP
Константы - это неизменяемые переменные. Мы можем присваивать им любые значения: boolean
, array
, string
, integer
, null
. Имя константы должно соответствовать тем же правилам объявления, что и для переменных PHP. Правильное имя начинается с буквы или
символа подчёркивания, за которым следует любое количество букв, цифр и символов подчёркивания. При этом знак доллара ($
) не нужен.
Существуют 2 вида констант:
- Ключевое слово
const
- таким способом часто объявляют константу именно в классе PHP (про классы мы поговорим позднее); - Функция
define
- такой способ используют в функциональном программировании.
В функциональном программировании (написание программы без ООП (Объектно-ориентированное программирование)) можете использовать как const
, так и define
.
ПримечаниеПри создании классов,
define
не работает (будет ошибкаParse error: syntax error, unexpected token "(", expecting variable in /home/user/scripts/code.php on line 4
)
Создадим пару констант:
<?php
const USER_ONE = 'Alex';
define('USER_TWO', 'Oleg');
echo USER_ONE; // Распечатает Alex
echo USER_TWO; // Распечатает Oleg
?>
Как видите ничего сложного. Что в первом варианте присвоили константе значение, что во втором.
Так в чем же отличие const
от define
?
- Функция
define
позволяет создавать регистронезависимые константы. Ее можно использовать в условиях. Выполняется во время выполнения программы (нужно немного больше ресурсов); - Ключевое слово
const
создает регистрозависимую константу. Мы не сможем назвать константуUSER_TWO
, а вызывать ее по имениuser_two
.
ПримечаниеПосле того как константа определена, её значение не может быть изменено или аннулировано.
Магические константы
Кроме констант, которые создаются программистом, существует отдельная группа магических констант. Пишутся они всегда с двумя нижними подчеркиваниями по обе стороны имени: __КОНСТАНТА__
.
__LINE__
- выводит номер строки в которой используется;__FILE__
- выводит путь до текущего файла;__DIR__
- выводит путь до директории в которой используется файл.
Их намного больше. Все рассматривать не будем, вы всегда можете найти их в интернете.
<?php
echo __LINE__; // Распечатает 2
echo __FILE__; // Распечатает /home/user/scripts/code.php
echo __DIR__; // Распечатает /home/user/scripts
?>
Предопределенные константы
Разработчики постарались для нас создать очень удобные константы которые мы можем использовать в своём коде. Константы специфические, я сам их не использую, но знать про них стоит.
PHP_VERSION
- выводит текущую версию PHP;PHP_OS
- выводит OS под которую собиралась программа;PHP_MAXPATHLEN
- максимальная длина файловых имён (включая путь), поддерживаемая данной сборкой PHP;PHP_INT_MAX
- максимальное целое число доступное в текущей версии PHP;PHP_FLOAT_MAX
- максимальное возможное число типаfloat
.
Заключение
Константы нужны только для тех значений, которые не будут изменяться в коде: подключение к БД, система перечислений и т.д. Не пишите их всегда и везде, для начала пишите только переменные, со временем вы поймете где можно ставить константы, а где этого не стоит делать.
В следующем уроке мы разберёмся со строками в PHP.
Задания
1. Выведите все примеры магический констант
.
2. Выведите все примеры предопределенных констант
.
3. Создайте скрипт, в котором объявляется константа с именем PI
и значением 3.14159
. Затем напишите код, который рассчитывает и выводит площадь круга с радиусом 5
, используя созданную вами константу.
4. Создайте константу с именем VERSION
и значением 1.0.0
. Затем используйте для вывода значения этой константы. Текущаю версия: значение константы
;
5. Создайте константу API_KEY
со значением 12345
, используя флаг нечувствительности к регистру. Затем попробуйте вывести её значение, используя разный регистр в имени.
Похожие уроки Codebra
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ
Подписывайся на наш Telegram-канал!
Новости, полезный материал,
программирование и ИБ