PHP :: Константы
Понятие константы в PHP
Иногда нет необходимости использовать для хранения значения переменную, поскольку требуется сохранять это значение постоянным на протяжении всего выполнения скрипта. В таких случаях используются константы, которые представляют собою именованные контейнеры для хранения неизменяемых (постоянных) значений. Имена констант должны соответствовать общим правилам, установленным для идентификаторов в PHP. Однако по принятому соглашению, имена констант принято писать в верхнем регистре, хотя разрешается применять имена в любом регистре.
Объявление константы при помощи функции define()
Для создания констант используется функция define(), которая в качестве своих аргументов принимает имя константы в кавычках и ее значение. Отметим, что константы, определяемые при помощи функции define(), создаются после компиляции скрипта (т.е. после перевода php-кода в машинный код) уже на стадии его выполнения, и поэтому могут быть определены в любой области видимости (см пример №1). После того, как константа будет определена, к ней можно обращаться по имени, но в отличие от переменных, знак доллара у констант не ставится. Поэтому нужно быть внимательным при выборе имени константы, чтобы оно не совпало с одним из зарезервированных PHP слов.
Следует также помнить, что в отличие от переменных, после определения константы она становится доступной в любой области видимости, но ее значение уже нельзя изменить или аннулировать. Кроме того, константы нельзя использовать внутри строк.
<?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).
<?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
- Вернуться к оглавлению учебника