Материал предоставлен https://it.rfei.ru

Суперглобальные переменные

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

В этих суперглобальных переменных содержится масса полезной информации о текущей работающей программе и ее окружении (см. таблицу). Эти переменные имеют структуру ассоциативных массивов, которые будут рассмотрены в главе «Массивы в РНР».

Суперглобальные переменные РНР

Имя суперглобальной переменной Ее содержимое
$GLOBALS Все переменные, которые на данный момент определены в глобальной области видимости сценария. Имена переменных служат ключами массива
$_SERVER Информация о заголовках, путях, местах расположения сценариев. Элементы этого массива создаются веб-сервером, и это не дает гарантии, что каждый веб-сервер будет предоставлять какую-то часть информации или ее всю
$_GET Переменные, которые передаются текущему сценарию методом HTTP GET
$_POST Переменные, которые передаются текущему сценарию методом HTTP POST
$_FILES Элементы, подгруженные к текущему сценарию методом HTTP POST
$_COOKIE Переменные, переданные текущему сценарию посредством HTTP cookies
$_SESSION Переменные сессии, доступные текущему сценарию
$_REQUEST Содержимое информации, переданной от браузера; по умолчанию $_GET, $_POST и $_COOKIE
$_ENV Переменные, переданные текущему сценарию методом environment

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

Для иллюстрации порядка их использования рассмотрим часть той информации, которая может быть использована сайтами. Среди многой другой интересной информации, предоставляемой суперглобальными переменными, есть и URL-адрес той страницы, с которой пользователь был перенаправлен на текущую веб-страницу. Эта информация может быть получена следующим образом:

$came_from = $_SERVER['HTTP_REFERRER'];

Как видите, ничего сложного. Если же пользователь зашел непосредственно на вашу страницу, к примеру, набрав ее URL-адрес непосредственно в браузере, переменной $came_from будет присвоена пустая строка.

Статические переменныеСуперглобальные переменные и проблемы безопасности