PHP :: Константы
Понятие константы в PHP
Иногда нет необходимости использовать для хранения значения переменную, поскольку требуется сохранять это значение постоянным на протяжении всего выполнения скрипта. В таких случаях используются константы, которые представляют собою именованные контейнеры для хранения неизменяемых (постоянных) значений. Имена констант должны соответствовать общим правилам, установленным для идентификаторов в PHP. Однако по принятому соглашению, имена констант принято писать в верхнем регистре, хотя разрешается применять имена в любом регистре.
Объявление константы при помощи функции define()
Для создания констант используется функция define(), которая в качестве своих аргументов принимает имя константы в кавычках и ее значение. Отметим, что константы, определяемые при помощи функции define(), создаются после компиляции скрипта (т.е. после перевода php-кода в машинный код) уже на стадии его выполнения, и поэтому могут быть определены в любой области видимости (см пример №1). После того, как константа будет определена, к ней можно обращаться по имени, но в отличие от переменных, знак доллара у констант не ставится. Поэтому нужно быть внимательным при выборе имени константы, чтобы оно не совпало с одним из зарезервированных PHP слов.
Следует также помнить, что в отличие от переменных, после определения константы она становится доступной в любой области видимости, но ее значение уже нельзя изменить или аннулировать. Кроме того, константы нельзя использовать внутри строк.
htmlCodes
<?php
//Теперь a==23. Отметим, что имя константы всегда берется
//в кавычки,а значение только, когда является строкой
define('a', 23);
//Выведет '23'
echo a, '<br>';
//Вызовет ошибку, т.к. переопределить значение константы уже нельзя
//define('a', 'apple');
//Теперь first_name=='Ivan'. Взяли значение
//константы в кавычки, т.к. оно является строкой
define('first_name', 'Ivan');
//Выведет 'Ivan'
echo first_name, '<br>';
?>
Пример №1. Создание констант при помощи функции define()
Объявление константы при помощи ключевого слова const
Также константы можно создавать при помощи ключевого слова const (от англ. constant), но сделать это можно только в коде самого верхнего уровня, т.к. в этом случае константы создаются еще на стадии компиляции сценария. Это значит, что нельзя объявлять константы при помощи ключевого слова const внутри функций, циклов, условных выражений или блоков try/catch (см. пример №2).
htmlCodes
<?php
//Теперь a==23. Отметим, что имя константы всегда берется
//в кавычки,а значение только, когда является строкой
const a=23;
//Выведет '23'
echo a, '<br>';
//Вызовет ошибку, т.к. переопределить значение константы уже нельзя
//const a='apple';
//Теперь first_name=='Ivan'. Взяли значение
//константы в кавычки, т.к. оно является строкой
const first_name='Ivan';
//Выведет 'Ivan'
echo first_name, '<br>';
//Определяем функцию
function my_func(){
//Интерпретатор сообщит об ошибке
//const c=10;
}
//Условный оператор if (рассмотрим позже)
if(a==23){
//Интерпретатор сообщит об ошибке
//const b=10;
}
/* Проверьте в браузере, закомментировав часть кода и выводя его поочередно */
?>
Пример №2. Создание констант при помощи ключевого слова const
На этом вводную часть мы заканчиваем. Далее до конца первой части мы рассмотрим основы синтаксиса PHP, включающего понятия типов данных, операторов, функций, классов и объектов и т.д. Вторая часть будет посвящена вопросам практического применения PHP в ходе проектирования, верстки и управления сайтами.
Быстрый переход к другим страницам
- Переменные в PHP
- Константы в PHP
- Типы данных в PHP
- Вернуться к оглавлению учебника