html.okpython.net
HTML и CSS для начинающих

PHP :: Константы

Понятие константы в PHP

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

Объявление константы при помощи функции define()

Для создания констант используется функция define(), которая в качестве своих аргументов принимает имя константы в кавычках и ее значение. Отметим, что константы, определяемые при помощи функции define(), создаются после компиляции скрипта (т.е. после перевода php-кода в машинный код) уже на стадии его выполнения, и поэтому могут быть определены в любой области видимости (см пример №1). После того, как константа будет определена, к ней можно обращаться по имени, но в отличие от переменных, знак доллара у констант не ставится. Поэтому нужно быть внимательным при выборе имени константы, чтобы оно не совпало с одним из зарезервированных PHP слов.

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

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).

PHP Результат 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 в ходе проектирования, верстки и управления сайтами.

Быстрый переход к другим страницам